我最近从 15.10 更新到了 16.04,现在我的系统python3
似乎乱了。
升级之前,我手动安装了python3.4
和python3.5.1
。升级删除了python3.4
它,并用python3.2
和替换了它python3.1
。
新版本python3.5.1
删除了我的python3.5.1
安装。
但现在我面临很多问题:
- 检查这个问题
comand-not-found
不再起作用,并因此回溯而崩溃(1)如果我尝试运行
commmand-not-found
(python3.2
2)
我剥掉了一些东西,因为它总是一样的。
我不想使用旧版本, 那么python3
我该如何解决这个问题?
为什么有没有python3.1
?
(1)
me@my-machine:~$ whareis systemd
Traceback (most recent call last):
File "/usr/lib/command-not-found", line 27, in <module>
from CommandNotFound.util import crash_guard
ImportError: No module named 'CommandNotFound'
(2)
Traceback (most recent call last):
File "/usr/lib/python3.2/dbm/gnu.py", line 6, in <module>
from _gdbm import *
ImportError: No module named _gdbm
答案1
解决方案:与我之前提到的不同,我的python3.5.1
安装没有被更新删除。它仍然在 下/usr/local/bin/python3.5
。
跟踪错误:我写了几行调试代码到/usr/lib/python3.5/_sysconfigdata.py
:
print("python-version", sys.version_info)
print("python-gcc-version",sys.version)
print("python-executable",sys.executable)
/usr/bin/python3
调用和的输出不同rhythmbox
,但 python 可执行文件在两种方式中都是/usr/bin/python3
然后我使用搜索错误的安装whereis python3
并删除 /usr/local/bin/python3.5
然后我清除并重新安装python3
并运行apt install -f
。
所以这个错误消失了。
记住:永远不要从源代码安装东西,如果它有时可能在存储库中,或者至少在包管理器安装它之前将其删除。
答案2
16.04
在 Ubuntu 中也遇到了同样的错误二Python3 的安装(3.5.2
和3.7.3
):
$ junk
Traceback (most recent call last):
File "/usr/lib/command-not-found", line 27, in <module>
from CommandNotFound.util import crash_guard
ModuleNotFoundError: No module named 'CommandNotFound'
我不需要 python 3.5.2
。因此,通过执行以下操作删除它可以解决我的错误:
sudo apt-get remove --purge python3*
sudo apt autoremove
然后,我看到了command not found
预期的结果:
$ junk
junk: command not found