如何在本地下载 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 依赖项搜索? [复制]