pyinstaller нет модуля с именем error - PullRequest
0 голосов
/ 17 мая 2018

в первую очередь: python 2.7, pyinstaller 3.3.1

Я новичок в pyinstaller и flask и пытаюсь разработать небольшое приложение для моей встроенной системы linux.

Ключевым моментом является то, что каждый раз, когда я генерирую свое приложение с помощью pyinstaller, оно работает, но когда я его запускаю, это не так.

Моя последняя ошибка:

Traceback (most recent call last):
  File "hello.py", line 22, in <module>
  File "flask/app.py", line 943, in run
  File "werkzeug/serving.py", line 812, in run_simple
  File "werkzeug/_reloader.py", line 273, in run_with_reloader
  File "werkzeug/_reloader.py", line 152, in run
  File "werkzeug/_reloader.py", line 22, in _iter_module_files
  File "email/__init__.py", line 79, in __getattr__
ImportError: No module named image

Насколько мне известно, мне не нужен этот модуль, но для меня самое важное - знать, где найти эти скрытые зависимости. То, что я действительно хочу знать, - это метод для поиска этих зависимостей и изменения моего скрипта для генерации моего пакета с помощью pyinstaller. До сих пор я использую эту строку для генерации своего пакета:

pyinstaller --noupx --hiddenimport email.mime.message --hiddenimport image hello.py

Второй скрытый импорт неправильный, но как узнать, какой импорт отсутствует ??? Где я должен искать эти модули?

В моем первом скрытом импорте (email.mime.message) было похожее сообщение, в котором просто говорилось, что отсутствовало импортированное «сообщение». Я мог бы прочитать здесь решение для этого, но это было вопросом удачи!

Как узнать из этого сообщения, что такое необходимая зависимость?

Большое спасибо!

1 Ответ

0 голосов
/ 27 ноября 2018

Вы должны запустить это, чтобы оно заработало:

pyinstaller -F -w \
--onefile \
--hidden-import='email.mime.multipart' \
--hidden-import='email.mime.message' \
--hidden-import='email.mime.text' \
--hidden-import='email.mime.image' \
--hidden-import='email.mime.audio' \
--hidden-import='sqlalchemy.sql.default_comparator' \
--hidden-import='jinja2' \
main.py

Благодаря mrf345

...