我在不同的virtualenv環境中安裝了許多相同的軟件包。有沒有一種方法可以下載一次軟件包,然后從本地緩存安裝pip?這將減少下載帶寬和時間。
4 回答

30秒到達戰場
TA貢獻1828條經驗 獲得超6個贊
PIP_DOWNLOAD_CACHE有一些嚴重的問題。最重要的是,它將下載的主機名編碼到緩存中,因此使用鏡像變得不可能。
管理pip下載緩存的更好方法是將“下載軟件包”步驟與“安裝軟件包”步驟分開。下載的文件通常稱為“ sdist文件”(源分發),我將它們存儲在目錄$ SDIST_CACHE中。
最后兩個步驟是:
pip install --no-install --use-mirrors -I --download=$SDIST_CACHE <package name>
它將下載軟件包并將其放在$ SDIST_CACHE指向的目錄中。它不會安裝軟件包。然后運行:
pip install --find-links=file://$SDIST_CACHE --no-index --index-url=file:///dev/null <package name>
將軟件包安裝到您的虛擬環境中。理想情況下,$ SDIST_CACHE將在您的源代碼控制下提交。部署到生產環境時,僅運行第二個pip命令即可安裝軟件包,而無需下載它們。
添加回答
舉報
0/150
提交
取消