bash 中的任意字符串抛出 python 错误?
Arbitrary strings in bash throw python errors?
我的 shell 设置中的某些内容导致 "krmpfl" 或 "u45g5svtJ7" 等任意字符串创建 Python 错误:
$> krmpfl
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'
我希望 bash(而不是 python!)会抛出 "Unknown command krmpfl. Did you mean..." 类型的错误,但任何非已识别的命令出于某种原因传递给 python。我很困惑。
有没有人对如何调试这个或如何继续前进有想法?我试过 type krmpfl
但这(正确地)回应了 bash: type: krmpfl: not found
我的设置:
- Win10 在 WSL
中使用 Ubuntu 18.04
- ConEmu 作为控制台
- Bash-它
- Python 3.8
- 单击(python 包)安装以简化创建命令
如果您当前的 shell 函数定义了一个名为 command_not_found_handle
的函数,bash
会针对不存在的命令运行该函数,而不是立即因 "command not found" 错误而失败。在你的情况下,该函数存在并调用 /usr/lib/command-not-found
,它似乎是一个 Python 脚本,它试图下载(或至少建议你下载)带有 apt_pkg
的包,但你没有' 安装了 Python 模块,这会导致 Python 异常。
我的 shell 设置中的某些内容导致 "krmpfl" 或 "u45g5svtJ7" 等任意字符串创建 Python 错误:
$> krmpfl
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'
我希望 bash(而不是 python!)会抛出 "Unknown command krmpfl. Did you mean..." 类型的错误,但任何非已识别的命令出于某种原因传递给 python。我很困惑。
有没有人对如何调试这个或如何继续前进有想法?我试过 type krmpfl
但这(正确地)回应了 bash: type: krmpfl: not found
我的设置:
- Win10 在 WSL 中使用 Ubuntu 18.04
- ConEmu 作为控制台
- Bash-它
- Python 3.8
- 单击(python 包)安装以简化创建命令
如果您当前的 shell 函数定义了一个名为 command_not_found_handle
的函数,bash
会针对不存在的命令运行该函数,而不是立即因 "command not found" 错误而失败。在你的情况下,该函数存在并调用 /usr/lib/command-not-found
,它似乎是一个 Python 脚本,它试图下载(或至少建议你下载)带有 apt_pkg
的包,但你没有' 安装了 Python 模块,这会导致 Python 异常。