Ошибки Python отображаются с грузом Rust

#python #rust-cargo

#python #rust-cargo

Вопрос:

Когда я пытаюсь запустить пример библиотеки с грузом, по какой-то причине появляется ошибка Python. Я понятия не имею, почему и как это происходит, кто-нибудь думает, что они могут знать, как это исправить?

 cargo run --example lib_example
 
 module 'json' has no attribute 'JSONDecodeError'
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py", line 117, in get_snaps
    snaps = json.loads(output)
AttributeError: module 'json' has no attribute 'loads'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/CommandNotFound/util.py", line 23, in crash_guard
    callback()
  File "/usr/lib/command-not-found", line 95, in main
    if not cnf.advise(args[0], options.ignore_installed) and not options.no_failure_msg:
  File "/usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py", line 364, in advise
    snaps, mispell_snaps = self.get_snaps(command)
  File "/usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py", line 118, in get_snaps
    except json.JSONDecodeError as e:
AttributeError: module 'json' has no attribute 'JSONDecodeError'
 

Комментарии:

1. какую версию python вы используете?

2. @hack3r_0m Я не использую python ни для одного python в этой библиотеке или примере Rust, но когда я использую python, я использую Python 3.

3. Можете ли вы убедиться, что у вас правильно установлен cargo? (Например, каков результат which cargo ?)

4. which cargo /home/nathan/.cargo/bin/cargo

Ответ №1:

Я не знаю почему, но запуск which для cargo, а затем перезапуск каким-то образом исправил это.

 which cargo
sudo reboot
 

Комментарии:

1. which это ничего бы не изменило, но я думаю, что перезагрузка могла что-то сделать.

2. Если у вас открыт терминал и вы устанавливаете что-то, что меняется $PATH , этот открытый терминал не знает об изменении. which вероятно, это другая программа, которая получает новую $PATH , и если бы вы открыли другой терминал или запустили новую оболочку другим способом, эта оболочка также отлично запускала бы cargo без перезагрузки.