我有一个带有固定软件包版本的pip需求文件。我需要在没有直接互联网连接的系统上安装PyPI软件包。如何在不访问每个软件包页面的情况下,轻松下载我现在需要的软件包,以供以后使用pip进行安装?
pip
文档中有一个很好的例子,展示了快速本地安装:
$ pip install --download <DIR> -r requirements.txt
$ pip install --no-index --find-links=[file://]<DIR> -r requirements.txt
这主要是为了加快速度,如果你在联网的机器上执行第一步,然后将文件复制到另一台机器上,再运行第二步,你就可以在没有网络连接的情况下安装所有所需的内容。
$ pip install --download <DIR> -r requirements.txt
$ pip install --download <DIR> -r requirements.txt --no-use-wheel
如果该软件包的wheel是跨平台的,则这将下载可用的wheel,但还会下载源代码,以便在任何平台上构建该软件包,以防wheel不适用于目标系统。
然后,如Ford所建议的,在具有互联网访问权限的计算机中下载所需文件并将其移动到另一台计算机上执行以下操作:
$ pip install --no-index --find-links=[file://]<DIR> -r requirements.txt
我不能保证这种方法在所有情况下都有效,但是当我尝试从具有Internet访问权限的Windows机器下载软件包及其依赖项以安装到没有Internet访问权限的CentOS机器时,它对我有效。如果在每台机器上使用不同版本的Python,则还可能需要考虑其他因素(在我的情况下,两台机器上都安装了Python 3.4)。