【问题标题】:pipenv option to mimic pip -f optionpipenv 模拟 pip -f 选项的选项
【发布时间】:2019-12-30 01:25:52
【问题描述】:

在 pip 中有一个 -f 选项,它执行以下操作:

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

这是安装 PyTorch 的首选方式,通过设置指向其概览网站的链接,例如:

pip3 install torch===1.3.0 -f https://download.pytorch.org/whl/torch_stable.html

对于我的虚拟环境,我使用pipenv,但我没有找到与-f 相同的选项。同时,我可以只查找与我的系统相关的包的直接链接,但这很麻烦。

pipenv 是否提供与 pip 的 -f 相同的方法?

【问题讨论】:

    标签: pip package-managers pipenv


    【解决方案1】:

    在新版本的pipenv(我用2020.11.15版本测试),可以这样安装包:

    pipenv install https://download.pytorch.org/whl/cpu/torch-1.3.0%2Bcpu-cp36-cp36m-linux_x86_64.whl
    

    链接可以在本页找到:https://download.pytorch.org/whl/torch_stable.html

    这也将被添加到 Pipfile 中。

    [packages]
    torch = {file = "https://download.pytorch.org/whl/cpu/torch-1.3.0%2Bcpu-cp36-cp36m-linux_x86_64.whl"}
    

    您需要手动检查与您的计算平台、操作系统和 python 版本的链接。

    【讨论】:

    • pipenv install torch==1.8.0+cu111 -i https://download.pytorch.org/whl/torch_stable.html 不起作用
    • @Shamoon 你确定你用最新版本的 pipenv 测试过吗?
    • @Shamoon 我更新了答案。你是对的,因为 pytorch 下载页面不兼容 PyPI。
    • 因为这篇文章不再包含 -f 选项的替代方案,所以我将接受移回我自己的答案。 -f 的全部意义在于让您不必手动找到确切的链接。
    【解决方案2】:

    可以使用 pip 识别的环境变量来调整其在 pipenv 执行中的行为。例如:

    PIP_FIND_LINKS=https://download.pytorch.org/whl/torch_stable.html pipenv install torch==1.5.1+cu101
    

    见:

    【讨论】:

    • 此设置是否保留在 pipfile 中,还是每次尝试从 pipfile 初始化时都需要(重新)设置?
    • @claytond 我相信它不会在Pipfile 中持续存在。但是生成的包规范正确地保存在Pipfile.lock 中。还请考虑“高级使用 Pipenv - 使用环境变量配置”部分的结尾(请参阅答案中的链接)以获取有关如何在每个项目的基础上持久化 env vars 的建议。
    【解决方案3】:

    目前,我还没有找到解决方法。当然,您可以做的是启用 pipenv shell 并使用 pip 做您必须做的事情,例如

    pipenv shell
    python -m pip install torch===1.3.0 -f https://download.pytorch.org/whl/torch_stable.html
    

    这将在 pipenv 环境中安装 Torch但是torch 不会被添加到 Pipfile 中(也不会添加到锁定文件中)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-02
      • 2016-02-13
      • 2020-07-07
      • 2012-12-01
      • 1970-01-01
      • 2019-04-01
      • 2014-01-05
      相关资源
      最近更新 更多