Замораживание приложения Python с помощью py2exe с пользовательскими модулями

#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