2017-06-28 32 views
2

我正在运行我的python应用程序,它有requirements.txt文件,其中包含各种依赖项。我正在Pivotal Cloud Foundry环境中部署此应用程序。但是,我在其中部署的环境空气不足。因此我似乎无法获得依赖关系。如何在本地下载pip依赖关系?

Git的回购为Python CF buildpack表明,如果一个应用程序有一个vendor目录,那么它可能从那里得到的依赖关系:https://github.com/cloudfoundry/python-buildpack/blob/master/bin/steps/pip-install#L18

我的问题是,我怎么可以下载我的requirements.txt本地文件中提到的依赖进入vendor文件夹?

回答

2

您可以获取使用下面的命令所有的依赖关系(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>:如果一个URL或者一个html文件的路径,然后 解析链接到档案。如果一个本地路径或file:// URL是一个目录,则在目录列表中查找 存档。

这个答案是从this post

+0

。如果您发现重复,请关闭,而不是复制答案。 – jonrsharpe

2

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

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

只需使用PIP安装在开发框,然后检查在

+0

所以我的'requirements.txt'里有'numpy'。我使用码头容器为CF运行上述命令:'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' – Anthony