Py2Exe и Easgui

Я пытаюсь преобразовать py-файл в исполняемый файл. Вот код для моего установочного файла

from distutils.core import setup
import py2exe
setup(console=["mycode.py"])

Когда я использую cmd, он говорит: Ошибка импорта: нет модуля с именем easygui

Как я могу сообщить py2exe о easygui? А также numpy и mathplotlib (все они используются в mycode.py)

2 ответа

Во-первых, используйте pyinstaller. Это новее и лучше (хотя я использовал py2exe до перехода на pyinstaller), и, похоже, у него есть гораздо лучшие рецепты для поиска ваших включенных библиотек.

Но для py2exe вам нужно будет немного расширить этот файл setup.py, чтобы указать, что включить (поскольку они, вероятно, являются скрытыми импортерами).

setup(
    console=["mycode.py"],
    options={
        "py2exe": {
            "includes": ["easygui"],
            "bundle_files": 1
        },
    },
    zipfile = None,
)

Если это не удается построить, то easygui не в вашей PYTHONPATH должным образом. Убедитесь, что вы не делаете что-то особенное в своем скрипте для добавления pythonpath, который не будет виден py2exe.

Возможно, вам придется немного поработать с этим файлом для numpy и matplotlib. Смотрите эту вики за помощью

Относительно проблемы упомянутой конкретной библиотеки DLL, у меня были подобные проблемы, но я исправил эти проблемы, специально исключив те из них, которые находятся в настройке:

setup(
    console=['DET14.py'],
    options={
             'py2exe': {
                        'packages' : ['matplotlib', 'pytz'],
                        'dll_excludes':['MSVCP90.DLL',
                                        'libgdk-win32-2.0-0.dll',
                                        'libgobject-2.0-0.dll',
                                        'libgdk_pixbuf-2.0-0.dll'],
                        'includes':['scipy.sparse.csgraph._validation',
                            'scipy.special._ufuncs_cxx']
                       }
            },
    data_files=matplotlib.get_py2exe_datafiles()
)`

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

Другие вопросы по тегам