![Ошибка «Модуль не найден» при запуске программы в программном обеспечении NeST](https://rvso.com/image/1070320/%D0%9E%D1%88%D0%B8%D0%B1%D0%BA%D0%B0%20%C2%AB%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%20%D0%BD%D0%B5%20%D0%BD%D0%B0%D0%B9%D0%B4%D0%B5%D0%BD%C2%BB%20%D0%BF%D1%80%D0%B8%20%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B%20%D0%B2%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%BC%20%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B8%20NeST.png)
Я пытался бежать с $ sudo python3 p2p.py
Но на моем компьютере выдается ошибка.
ModuleNotFoundError: Отсутствует вложенное имя модуля
решение1
Я пытался бежать с $ sudo python3 p2p.py
Но на моем компьютере выдается ошибка.
Затем я выполняю команду $ sudo -E python3 p2p.py
и это работает.
Параметр -E необходим из-за способа установки NeST. Обычно пакеты python устанавливаются либо глобально, либо для каждого пользователя.
Похоже, что для большинства пользователей NeST устанавливается только для пользователя в Ubuntu (не глобально). Поэтому, когда вы запускаете "sudo python p2p.py", python будет искать пакет NeST глобально, и это выдаст ошибку. Поэтому мы добавляем опцию "-E" для sudo, чтобы он учитывал среду текущего пользователя также при запуске от имени root, и, таким образом, пакет NeST будет найден.