Linux 终端和 Python 混在一起

问题描述 投票:0回答:3

当我运行一些有效的命令(例如 neofetch)时,它会给我一个 Python 错误。

username@host:~$ as
Traceback (most recent call last):
  File "/usr/lib/command-not-found", line 28, in <module>
    from CommandNotFound import CommandNotFound
  File "/usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py", line 19, in <module>
    from CommandNotFound.db.db import SqliteDatabase
  File "/usr/lib/python3/dist-packages/CommandNotFound/db/db.py", line 5, in <module>
    import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'

每当我输入无效命令时,它就会执行此操作。在我安装 Python 3.9 后,这种情况开始发生。我正在运行 Kubuntu,默认安装了 Python 3.10。

python linux terminal
3个回答
1
投票

现代 Linux 发行版倾向于使用大量的 python 脚本供内部使用;由于这个原因,Python 安装了很多库。

您收到的错误是因为您用自己选择的版本替换了相当完整的系统Python,而没有提供原始版本附带的所有库。

您看到的错误是由

/usr/lib/command-not-found
发出的,这是一个使用系统路径中找到的
python3
的脚本。

我强烈建议您重新安装原始的 python 软件包并使用例如

anaconda
满足您的特定 Python 需求。

主要收获是:

不要弄乱系统Python


0
投票

尝试 source .bashrc 命令并在实际任务之前执行它。

它的作用就像终端会话的刷新按钮,确保它获取 .bashrc 文件中定义的任何新的或修改的配置。

如果您或其他人使用相同的用户凭据,最近对 .bashrc 文件进行了更改,例如定义与 HDFS 数据插入命令相关的别名,则这些更改不会反映在您当前的终端会话中,直到您再次获取该文件。希望它能达到目的。

快乐学习!


-1
投票

尝试使用

which python
查找您正在使用哪个 Python,并卸载它找到的第一个 Python 解释器。

© www.soinside.com 2019 - 2024. All rights reserved.