缺少包CommandNotFound

我最近从15.10更新到16.04,现在我的python3似乎搞砸了。

在升级之前,我安装了python3.4python3.5.1 (手动)。 升级删除了python3.4并将其替换为python3.2python3.1
新的python3.5.1删除了我的python3.5.1安装。

但现在我面临很多问题:

  • 检查这个问题
  • comand-not-found不再起作用并且与此追溯崩溃(1)

  • 如果我尝试用python3.2运行python3.2 commmand-not-found (2)

我剥掉了一些东西,因为它总是一样的。

我不想使用旧的python3版本,所以我该如何解决这个问题呢?
为什么python3.1

(1)

  me@my-machine:~$ whareis systemd Traceback (most recent call last): File "/usr/lib/command-not-found", line 27, in  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  from _gdbm import * ImportError: No module named _gdbm 

解决方案 :与我之前提到的不同,我的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/python3rhythmbox之间的输出是不同的,但是python-executable在两个方面都是/usr/bin/python3

然后我使用whereis python3搜索了错误的安装,并删除了/usr/local/bin/python3.5

然后我清除并重新安装python3并运行apt install -f
所以这个错误消失了。

请记住 :永远不要从源代码安装东西,如果它可能在某个时候在repos中,或者至少在软件包管理器安装它之前将其删除。