建立 python -> python3 符号链接后无法更新软件包

建立 python -> python3 符号链接后无法更新软件包

我之前在 ubuntu 中安装了 Anaconda3,但后来我认为我不需要同时安装两个 Python。我删除了 Anaconda,但后来我的默认 Python 版本从 3.5 更改为 2.7(我使用的是 ubuntu 16.04),我不知道为什么。所以我创建了一个符号链接,但这似乎破坏了我的 ubuntu 中的更新。这是我尝试使用升级包python -> python3时收到的错误。python-crypto_2.6.1-6ubuntu0.16.04.2_amd64.debapt-get dist-upgrade

ImportError: No module named 'ConfigParser'. 

这显然是由于尝试导入python2模块而导致的。我可以通过更改python符号链接指向的位置来解决这个问题。但我正在寻找一种可以防止将来出现问题和类似修改的解决方案。

答案1

Ubuntu 默认安装了 Python 2 版本和 Python 3 版本。

即使您不想亲自处理它们,您也需要尊重地保留它们,因为 Ubuntu 中的许多核心程序都是用 Python 编写的,并且依赖于 Python。正如这里的许多问题所证明的那样

如果你破坏了 Python,Ubuntu 也会破坏

到目前为止,您还没有破坏任何关键的东西。您只需要删除您创建的符号链接,这样寻找的程序python就不会找到python3并失败。

16.04 中的默认符号链接/usr/bin应如下所示:

$ ls -l /usr/bin | grep python
lrwxrwxrwx 1 root root           9 Oct 18 12:13 python -> python2.7
lrwxrwxrwx 1 root root           9 Oct 18 12:13 python2 -> python2.7
-rwxr-xr-x 1 root root     3777000 Sep 17 13:08 python2.7
lrwxrwxrwx 1 root root           9 Oct 18 12:13 python3 -> python3.5
-rwxr-xr-x 1 root root     4739496 Sep 22 13:18 python3.5

您没有说在哪里创建了符号链接,但您应该删除它并确保它/usr/bin/python指向/usr/bin/python2.7

cd /usr/bin ; ls -l           # if you have python -> python3 then
sudo rm python
sudo ln -s python2.7 python

相关内容