Oli*_*li4 6 package-management python ppa python3 18.04
在 Ubuntu 16.04 上,我从 deadsnakes PPA 安装了 Python 3.6。现在我升级到 Ubuntu 18.04,它构建在 Python 3.6 之上,但它没有删除旧版本的 Python 3.6,而是保留了 deadsnakes PPA 中的版本,如果我想安装任何与 python 相关的东西,这会导致依赖性问题。例如,如果我运行sudo apt install python3.6-venv:
The following packages have unmet dependencies:
python3.6-venv : Depends: python3.6 (= 3.6.5-3) but 3.6.6-1+xenial1 is to be installed
Run Code Online (Sandbox Code Playgroud)
有没有一种安全的方法可以在3.6.6-1+xenial1不删除依赖于它来安装默认 Python 3.6 的所有内容的情况下进行删除?否则,我将不得不从头开始重新安装 Ubuntu。
使用 apt-get 无法安装相关问题,python 丢失不幸的是,给出的唯一答案建议手动删除并重新安装 python3.6,这将导致删除大约 218 个包。这是我想规避的。sudo apt-get remove python3.6:
The following packages will be REMOVED:
apparmor apport apport-gtk aptdaemon apturl apturl-common asymptote atom
cdbs command-not-found compiz compiz-gnome dh-python firefox
foomatic-db-compressed-ppds gconf2 gdm3 gedit gedit-common gir1.2-ibus-1.0
gnome-control-center gnome-menus gnome-online-accounts gnome-orca
gnome-shell gnome-software gnome-software-plugin-snap gnome-terminal
...
Run Code Online (Sandbox Code Playgroud)
在阅读了问题下方的评论后,我成功地重新安装了 python3.6,并想与您分享我是如何做到的。
我运行以下命令删除旧版本的python3.6而不删除所有依赖项并直接安装默认版本。
sudo dpkg --remove --force-depends python3.6 python3.6-minimal libpython3.6-minimal libpython3.6-stdlib
sudo apt-get install python3.6 python3.6-minimal libpython3.6-minimal libpython3.6-stdlib
Run Code Online (Sandbox Code Playgroud)我跑了sudo apt-get update,sudo apt-get upgrade然后重新启动我的机器。
也许这过于复杂,但它对我有用。非常感谢@wjandrea、@Ray、@Zanna 的评论。