2017-06-28 34 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