【问题标题】:Why does pip redownload the same package for another venv with a different python version?为什么 pip 为另一个具有不同 python 版本的 venv 重新下载相同的包?
【发布时间】:2021-01-24 15:21:30
【问题描述】:

我有两个虚拟环境。一个有python 3.7.9。另一个有 3.8.5。我已经在第一个虚拟环境中下载了 torch 1.6.0。但是当尝试在第二个虚拟环境中安装相同的 Torch 版本时,它会再次下载整个包,而不是从缓存中安装。

有什么方法可以强制从缓存中下载,因为我希望在两种环境中都使用相同的 torch==1.6.0,而且每次都下载它令人沮丧。

【问题讨论】:

  • 看来torch有different library versions for different Python versions。您实际上不能在两种环境中使用相同的版本。
  • 如果一个库包含 C 扩展(和 pytorch 一样),这些通常只与一个主要的 Python 版本兼容(因此 ABI 标记 cp37-cp37m 等)。如果一个库只使用有限的 API 部分(在PEP 384 中定义),wheel 可能会声明不同主要版本之间的兼容性(通常通过在 ABI 标签中定义支持的最小版本及更高版本来表示,例如cp36-abi3),但是 pytorch不是其中之一。

标签: python-3.x pip virtualenv conda python-venv


【解决方案1】:

查看列出的文件...

https://pypi.org/project/torch/#files

不同的 Python 版本有不同的轮子。

这是有道理的,例如 Python 版本之间的语法变化。

【讨论】:

    猜你喜欢
    • 2017-05-05
    • 2020-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-12
    • 2023-04-11
    • 2014-10-30
    • 1970-01-01
    相关资源
    最近更新 更多