Intereting Posts
Инструмент для преобразования произвольных MIME-писем в обычный текст? (лучшее усилие) Имитация оболочки оболочки GNU в tmux Как получить дату сборки системы Debian? Помогите понять код bash? Как установить, отсутствующие Intel графические драйверы Доступна ли какая-либо специальная информация (например, предыдущая команда) для PROMPT_COMMAND? Fedora 23 GUI Login Double Echo Кажется, что Bash находится в специальном режиме Как сгенерировать список файлов конфигурации, к которым обращается инструмент (например, bash или vi)? Файловая система не показывает правильный размер в Mac OSX Как запустить скрипт после инициализации OpenVPN? Какая самая маленькая операционная система только для командной строки? Сетевой туннель – домашний сервер через выделенный IP-адрес переключения Удалите 2 и 3 строки в текстовом файле, но не 1 В чем разница между пространством пользователя и пространством ядра?

Невозможно импортировать модуль Python в терминал

Я использую Kali Linux и пытаюсь запустить некоторый код Python3.

введите описание изображения здесь

Но это всегда дает мне такой журнал ошибок.

Тем не менее, после того, как я выхожу из этого каталога и перехожу в мой домашний каталог, он снова работает.

введите описание изображения здесь

Я думаю, что, возможно, это как-то связано с моим текущим путем.

Но как это может повлиять на мой импорт и привести к такой проблеме?

ОБНОВЛЕНИЕ № 1

Здесь я нашел решение .

Когда вы находитесь в каталоге /usr/lib/python2.7/dist-packages, есть модуль enum:

ls | grep ^enum enum 

Поэтому, когда ваш python3 пытается импортировать re, у него есть зависимость от enum, который он пытается загрузить в свой текущий каталог, глядя на sys.path, в этом контексте '' это текущий каталог. Но в этом каталоге это модуль Python 2.7. Вот почему вы не видите ошибку, когда вы находитесь в любом другом каталоге.

 >>> print(sys.path) ['', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python36.zip', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib- dynload', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site- packages'] 

Таким образом, вы можете обновить ваш sys.path или просто не работать в этом каталоге пакетов python2.7 с python3.