#python #module #py2exe #setup.py
#python #модуль #py2exe #setup.py
Вопрос:
Я использую py2exe для создания исполняемого файла из моего проекта python.
Моя файловая структура выглядит следующим образом:
Conda_env_38
app
__init__.py
GUI.py
wave_class.py
tests
__init__.py
README
setup.py
GUI.py это основное приложение, которое использует tkinter.
wave_class.py используется GUI.py для некоторых расчетов тесты предназначены для будущего роста и не используются прямо сейчас.
setup.py содержит следующее:
from distutils.core import setup
import py2exe
setup (
name='GUI Data Viewer',
description="digital Data Visualizer app",
version="0.1",
packages=['app'],
windows=['appGUI.py'],
options={ 'py2exe': {
'packages': None,
'includes': None}
},
)
init.py содержит:
__all__ = ['GUI', 'wave_class']
import wave_class
В моей консоли я подключаюсь к этому каталогу и запускаю:
python setup.py py2exe
Скрипт выполняется успешно, и я получаю свой exe-файл в новой папке ‘dist’. Но когда я запускаю его, он генерирует файл журнала, содержащий следующую ошибку:
Traceback (most recent call last):
File "GUI.py", line 3, in <module>
ModuleNotFoundError: No module named 'wave_class'
Итак, почему wave_class не был включен в «приложение»? Как мне включить py2exe wave_class.py ?
кстати, это отлично работает с моей IDE, так что это не пропущенный импорт в GUI.py
Комментарии:
1. ваш файл init.py в папке app пусто?
2. init.py содержит следующее: all = [‘GUI’, ‘wave_class’] импортировать wave_class