Ответ 1
Если параметр PATH=""
исправляет его, то что-то, где-то затеняет пакет python, который вызывается пакетом command-not-found
. Недавно я сделал это, написав script под названием struct.py
. Вам нужно пройти через каждый каталог на вашем пути, т.е.
/home/antonio/.local/bin
/home/antonio/.local/bin
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
/usr/games
/usr/local/games
и найдите там файлы .py
. Один из них имеет имя с одним из встроенных пакетов Python. Кроме того, вы можете удалить каталоги из своего PATH
и добавить их обратно до тех пор, пока не узнаете, какой из них он сломал. Как только вы его найдете, вам нужно удалить его или переименовать.
Для этого сделайте однострочный оболочек:
for dir in $(echo $PATH | tr ":" "\n"); do ls -1 $dir | grep "[.]py"; done
Вы можете проверить это в своей собственной оболочке, попробовав следующее (воссоздавая мою ошибку из нескольких дней назад):
echo 'print("HELLO WORLD")' >> struct.py
Теперь в моей оболочке, находящейся в текущем каталоге, я вижу:
➜ client git:(master) ✗ a
HELLO WORLD
zsh: command not found: a
Предположительно, Python script, выполняющий затенение в вашем случае, делает что-то более ресурсоемкое, чем просто печать "HELLO WORLD", следовательно, висит.