簡體   English   中英

如何使用easy_install從本地主機上的軟件包安裝軟件包?

[英]How can I install a package using easy_install from a package on the local host?

我正在嘗試使用easy_install從本地目錄安裝Python軟件包。

我這樣做的原因是由於網絡/ IT問題。

我有一個工作站(Ubuntu),可以在Internet上訪問easy_install的存儲庫。 我可以毫無問題地安裝東西。

我們有一個與Internet隔離的實驗室網絡。 我在此實驗室網絡上有一個Ubuntu VM。 我無法使用easy_install(或pip)來安裝任何東西,因為它已從存儲庫中被阻止。 我需要安裝一些Python軟件包,因此我需要解決此限制。

我解決pip限制的方法是先對軟件包進行“點下載”,然后將軟件包文件SCP實驗室網絡中的VM,然后對軟件包文件進行“點安裝”。

我正在嘗試使用easy_install進行此操作。 通過發出此命令,我能夠下載easy_install軟件包

    > easy_install -q --editable --build-directory . <package name>

例如,假設我想使用easy_install安裝pip。 通過easy_install下載源代碼后,我有了pip目錄。 我可以將pip目錄打包,然后將其SCP切換到VM。 有沒有辦法告訴VM上的easy_install使用pip目錄中的文件進行安裝,而不是嘗試通過外部存儲庫進行安裝?

我使用easy_install標記搜索了與此類似的問題,但沒有看到任何內容,因此我想問一下。

devpi-server是一個緩存的PyPI代理。 如果使用它在一個主機上安裝軟件包,它將把請求轉發到https://pypi.python.org/pypi ,並保存下載的所有內容。 然后,您將~/.devpi的壓縮包復制到另一個主機,啟動服務器,並讓devpi-server提供緩存的文件。

主機1(在線):

$ easy_install --user devpi-server
$ devpi-server --start
$ easy_install --user -i http://localhost:3141/root/pypi/ Django

~/.devpi從主機1復制到主機2

您還需要以某種方式將devpi-server復制到離線框中。 它具有相當多的依賴性。 也許要引導您可以創建一個基本的VM,運行easy_install --user devpi-server ,然后easy_install --user devpi-server ~/.local並將其復制過來?

主機2(無互聯網):

$ devpi-server --start
$ easy_install --user -i http://localhost:3141/root/pypi/ Django
# Success!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM