我在不同的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
提交
取消