簡體   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