如何在本地下载 pip 依赖项? [复制]

Posted

技术标签:

【中文标题】如何在本地下载 pip 依赖项? [复制]【英文标题】:how to download pip dependencies locally? [duplicate] 【发布时间】:2017-12-02 02:05:07 【问题描述】:

我正在运行我的 python 应用程序,该应用程序具有 requirements.txt 文件,其中包含各种依赖项。我在 Pivotal Cloud Foundry 环境中部署此应用程序。但是,我在其中部署的环境是气隙的。因此我似乎无法获得依赖项。

python CF buildpack 的 Git 存储库建议如果应用程序有一个 vendor 目录,那么它可能会从那里获取依赖项:https://github.com/cloudfoundry/python-buildpack/blob/master/bin/steps/pip-install#L18

我的问题是,如何将我的requirements.txt 文件中提到的依赖项本地下载到vendor 文件夹中?

【问题讨论】:

【参考方案1】:

您可以使用以下命令获取所有依赖项(当然需要 Internet 连接)

pip download -r requirements.txt

然后,您可以使用以下命令离线安装这些依赖项

pip install -r requirements.txt --no-index --find-links file:///tmp/packages

--no-index:忽略包索引(只看--find-links 网址代替)。

-f, --find-links <URL> :如果是 html 文件的 URL 或路径,则 解析档案的链接。如果本地路径或file:// URL 是目录,则查找 目录列表中的档案。

此答案取自this post

【讨论】:

如果您发现重复,请直接关闭而不是复制答案。【参考方案2】:

看:http://docs.cloudfoundry.org/buildpacks/python/index.html#vendor-app-dependencies

tl;博士pip install --download vendor -r requirements.txt

只需使用 pip 安装在开发框上,然后签入即可。

【讨论】:

所以我的requirements.txt 里面有numpy。我使用 CF 的 docker 容器运行上述命令:docker run -v $PWD:/myapp -it cloudfoundry/cflinuxfs2 bash,然后在其中安装pip,然后运行pip install --download vendor -r requirements.txt。这会下载我的vendor 目录中的文件。其中一个文件名为numpy-1.13.0-cp27-cp27mu-manylinux1_x86_64.whl。但是,当我尝试推送我的应用程序时,我收到错误 numpy-1.13.0-cp27-cp27mu-manylinux1_x86_64

以上是关于如何在本地下载 pip 依赖项? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Eclipse 中启用索引下载以进行 Maven 依赖项搜索? [复制]

如何在不安装的情况下列出python库的依赖项? [复制]

如何在 Python 的 setup.py 中包含和安装本地依赖项?

如何通过Gradle将所有依赖项复制到Maven存储库?

如何通过自动下载/安装其他依赖项来安装本地 .rpm 文件

在 setup.py 或 pip 需求文件中,如何控制安装包依赖项的顺序?