繁体   English   中英

Pip 在 22.04 Kubuntu/Ubuntu 上安装 long requirements.txt 失败

[英]Pip fails to install long requirements.txt on 22.04 Kubuntu/Ubuntu

(这不是什么大问题,更多的是在这里,因为当我遇到问题时,我没有找到答案,并希望确保遇到这个问题的其他人找到它。)

我在新安装的 22.04 Kubuntu 系统上。 每次升级时,我最终都需要重建我的虚拟环境。 在升级到 22.04 之前,我使用的是从我最新的 virtualenv 中转储的 requirements.txt。

当我尝试安装一个很长的 requirements.txt 时,我遇到了以下错误:

Traceback (most recent call last):
  File "/home/bitreaper/venv/venv3.10/lib/python3.10/site-packages/pip/_internal/cli/base_command.py", line 165, in exc_logging_wrapper
    status = run_func(*args)
  File "/home/bitreaper/venv/venv3.10/lib/python3.10/site-packages/pip/_internal/cli/req_command.py", line 205, in wrapper
    return func(self, options, args)
  File "/home/bitreaper/venv/venv3.10/lib/python3.10/site-packages/pip/_internal/commands/install.py", line 389, in run
    to_install = resolver.get_installation_order(requirement_set)
  File "/home/bitreaper/venv/venv3.10/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 188, in get_installation_order
    weights = get_topological_weights(
  File "/home/bitreaper/venv/venv3.10/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 276, in get_topological_weights
    assert len(weights) == expected_node_count
AssertionError

如果我只是对 package 本身进行了 pip 安装,那么我可以立即在该错误上方安装 package。 但每次我这样做,并使用 requirements.txt 再次运行 pip 安装时,它都会再次失败并出现相同的错误。

此时,我决定运行Python 3.9.12的docker镜像,使用相同的requirements.txt。 这安装没有问题。 然后我决定使用 docker 的 3.10.4 图像,它也安装在那个图像中没有问题。 我比较了 pip 的版本,docker 映像有 22.0.4,而 Kubuntu 的库存安装有 22.0.2。 当我做的

pip install --upgrade pip

使用长列表的调用有效。

问题似乎出在库存 pip 安装上。 如果你这样做:

pip install --upgrade pip

并获得比 22.0.2 更新的版本,它应该可以工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM