【问题标题】:Why does pip not find the newest version of a package even if it exists?为什么即使存在,pip 也找不到包的最新版本?
【发布时间】:2022-01-06 18:34:02
【问题描述】:

工作人员创建了一个示例 Dockerfile/项目/映像,供新员工使用。但是,在尝试运行脚本来构建映像时,它抱怨 Python 模块版本不满足要求。

一个模块是双向的。 requirements.txt 文件要求 0.21.0。我发现版本存在here,但是,我收到的错误消息说它找到的最新版本是0.18.4。

Collecting bidict==0.21.0
  ERROR: Could not find a version that satisfies the requirement bidict==0.21.0 (from versions: 0.1.5, 0.2.1, 0.3.0, 0.3.1, 0.9.0rc0, 0.9.0.post1, 0.10.0, 0.10.0.post1, 0.11.0, 0.12.0.post1, 0.13.0, 0.13.1, 0.14.0, 0.14.1, 0.14.2, 0.15.0.dev0, 0.15.0.dev1, 0.15.0rc1, 0.15.0, 0.16.0, 0.17.0, 0.17.1, 0.17.2, 0.17.3, 0.17.4, 0.17.5, 0.18.0, 0.18.1, 0.18.2, 0.18.3, 0.18.4)
ERROR: No matching distribution found for bidict==0.21.0

我如何确定图像正在查看/指向哪个 Python 模块存储库,以便我可以将其更新为可以看到较新版本模块的其他内容?

【问题讨论】:

  • 这能回答你的问题吗? Find default pip index-url
  • 是的,它回答了我最初的问题,但我认为 @phd 发现了我的主要问题。

标签: python pip pypi


【解决方案1】:

https://pypi.org/project/bidict/#history 中仅存在版本不足以让pip 使用它。 Pip 检查二进制轮子的 Python 版本兼容性和处理器架构。

bidict 0.18.4未声明 Python 版本兼容性的最后一个版本。从0.19.0 开始,项目声明“Requires: Python >=3”。 0.21.0 声明“要求:Python >=3.6”。

从兼容版本列表中,我猜您使用的是 Python 2.7(您应该在问题中指出这一点),因此您只能使用 0.18.4 及更低版本。对于更高版本,将 Python 升级到 3.6+(但从 2.7 升级通常非常困难)。

【讨论】:

    猜你喜欢
    • 2020-04-22
    • 2020-10-05
    • 1970-01-01
    • 2020-09-23
    • 2013-08-25
    • 2020-08-08
    • 1970-01-01
    • 2013-07-23
    • 2011-06-04
    相关资源
    最近更新 更多