【问题标题】:how to download pip dependencies locally? [duplicate]如何在本地下载 pip 依赖项? [复制]
【发布时间】: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 文件夹中?

【问题讨论】:

    标签: python pip cloud-foundry


    【解决方案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
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-06
    • 2020-08-10
    • 2012-11-13
    相关资源
    最近更新 更多