Python «Нет модуля с именем» ошибка; «пакет» не является пакетом - PullRequest
0 голосов
/ 23 января 2019

Я пытаюсь сделать простой импорт и использовать стороннюю библиотеку электронной почты.

Согласно их документации, способ использования их библиотеки следующий:

pip install emailage-official

Затем просто импортируйте с помощью:

from emailage.client import EmailageClient

Установка работает с pip - ошибок нет. Я дважды проверил, чтобы видеть, что пакет электронной почты существует в правильном каталоге, и это делает.

Пакет существует по адресу:

C:\Users\aaron\AppData\Local\Programs\Python\Python37-32\Lib\site-packages\emailage

В этой папке (похоже) есть правильные файлы с __init__.py и всем. Тем не менее, и Pylint и интерпретатор командной строки бросают мне 'Нет модуля с именем' emailage.client '; «emailage» не является ошибкой пакета.

Вывод моего sys.path:

[... 
'C:\\Users\\aaron\\AppData\\Local\\Programs\\Python\\Python37-32\\lib\\site-packages'
...
]

Так что каталог, в котором установлена ​​электронная почта, является частью пути ... и, наконец, я установил pip numpy, просто чтобы проверить, работает ли он правильно. Numpy установлен в ту же папку site-packages, что и электронная почта, и он отлично работает при импорте, поэтому я застрял.

Я обычно не очень часто использую Python, поэтому любая помощь будет полезна.

1 Ответ

0 голосов
/ 23 января 2019

Проблема была в именовании моего файла .

Я поспешно назвал свой файл emailage.py, а затем попытался импортировать из emailage.client.

Я предполагаю, что Python посмотрел в моем текущем каталоге и совпал с именами файла, над которым я работал, перед проверкой установленных сторонних библиотек.

После переименования моего файла все выглядит нормально.

Для тех, кто сталкивается с подобными проблемами - Остерегайтесь конфликтующих имен . Иногда самые простые вещи сбивают вас с толку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...