修正python3.12-venv相依關係python3.12無法修正問題,您保留了損毀的套件

這是我從Ubuntu升級22.04 (Jammy Jellyfish)到24.04 (Noble Numbat) 遭遇的問題之一。因為python3版本從3.10改成3.12,所以套件也需要重新安裝。

python3.12-venv:相依關係:python3.12 (=3.12.3-1ubuntu0.13) 但 3.12.7-1+jammy1 卻將被安裝

E: 無法修正問題,您保留(hold)了損毀的套件。



從訊息可以知道是現在系統上是 3.12.7-1的jammy1標籤的版本,應該是22.04的套件,可能是升級系統時,或是我之前手動升級的版本,不過現在已經是24.04(nobel)了,所以與其他套件的相依性有問題,apt無法自己解決,我想就該重裝一次。

在apt指令允許降版--allow-downgrades並指定安裝特定版本

sudo apt install --allow-downgrades -y \

  python3.12=3.12.3-1ubuntu0.13 \

  python3.12-minimal=3.12.3-1ubuntu0.13 \

  libpython3.12-stdlib=3.12.3-1ubuntu0.13 \

  libpython3.12-minimal=3.12.3-1ubuntu0.13


console印出相關警告但是會裝上指定版本

dpkg: 警告: 將 python3.12 從 3.12.7-1+jammy1 降級到 3.12.3-1ubuntu0.13
(讀取資料庫 ... 目前共安裝了 238321 個檔案和目錄。)
正在準備解包 .../python3.12_3.12.3-1ubuntu0.13_amd64.deb……
解開 python3.12 (3.12.3-1ubuntu0.13) 安裝中...,並覆蓋 (3.12.7-1+jammy1)
dpkg: 警告: 將 libpython3.12-stdlib:amd64 從 3.12.7-1+jammy1 降級到 3.12.3-1ubuntu0.13
正在準備解包 .../libpython3.12-stdlib_3.12.3-1ubuntu0.13_amd64.deb……
解開 libpython3.12-stdlib:amd64 (3.12.3-1ubuntu0.13) 安裝中...,並覆蓋 (3.12.7-1+jammy1)
dpkg: 警告: 將 python3.12-minimal 從 3.12.7-1+jammy1 降級到 3.12.3-1ubuntu0.13
正在準備解包 .../python3.12-minimal_3.12.3-1ubuntu0.13_amd64.deb……
解開 python3.12-minimal (3.12.3-1ubuntu0.13) 安裝中...,並覆蓋 (3.12.7-1+jammy1)
dpkg: 警告: 將 libpython3.12-minimal:amd64 從 3.12.7-1+jammy1 降級到 3.12.3-1ubuntu0.13
正在準備解包 .../libpython3.12-minimal_3.12.3-1ubuntu0.13_amd64.deb……
解開 libpython3.12-minimal:amd64 (3.12.3-1ubuntu0.13) 安裝中...,並覆蓋 (3.12.7-1+jammy1)
設定 libpython3.12-minimal:amd64 (3.12.3-1ubuntu0.13) ...
安裝新版的設定檔 /etc/python3.12/sitecustomize.py ...
設定 python3.12-minimal (3.12.3-1ubuntu0.13) ...
設定 libpython3.12-stdlib:amd64 (3.12.3-1ubuntu0.13) ...
設定 python3.12 (3.12.3-1ubuntu0.13) ...
執行 man-db (2.12.0-4build2) 的觸發程式……
執行 mailcap (3.70+nmu1ubuntu1) 的觸發程式……
執行 desktop-file-utils (0.27-2build1) 的觸發程式……
執行 gnome-menus (3.36.0-1.1ubuntu3) 的觸發程式……
執行 systemd (255.4-1ubuntu8.16) 的觸發程式……


然後再執行安裝想裝的套件,就不會再噴錯誤了

例如: sudo apt install python3-venv 


留言