缺少软件包 CommandNotFound

缺少软件包 CommandNotFound

我最近从 15.10 更新到了 16.04,现在我的系统python3似乎乱了。

升级之前,我手动安装了python3.4python3.5.1。升级删除了python3.4它,并用python3.2和替换了它python3.1
新版本python3.5.1删除了我的python3.5.1安装。

但现在我面临很多问题:

  • 检查这个问题
  • comand-not-found不再起作用,并因此回溯而崩溃(1)

  • 如果我尝试运行commmand-not-foundpython3.22)

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

我不想使用旧版本, 那么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.23.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

相关内容