2016-10-11 11 views
2

У меня есть графический интерфейс, который я создал с WX и кучу других библиотек, таких как matlabplot, win32api и т.д ...Python исполняемый ImportError

Я скомпилированный код питона в исполняемый файл, используя py2exe.

Исполняемый файл создается, но когда я пытаюсь запустить его, он вызывает ошибку.

Traceback (most recent call last): 
    File "gui.py", line 30, in <module> 
    File "zipextimporter.pyc", line 82, in load_module 
    File "guiupdater.pyc", line 22, in <module> 
    File "zipextimporter.pyc", line 82, in load_module 
    File "paramiko\__init__.pyc", line 30, in <module> 
    File "zipextimporter.pyc", line 82, in load_module 
    File "paramiko\transport.pyc", line 32, in <module> 
    File "zipextimporter.pyc", line 82, in load_module 
    File "cryptography\hazmat\backends\__init__.pyc", line 7, in <module> 
    File "zipextimporter.pyc", line 82, in load_module 
    File "pkg_resources\__init__.pyc", line 70, in <module> 
    File "pkg_resources\extern\__init__.pyc", line 61, in load_module 
ImportError: The 'appdirs' package is required; normally this is bundled with this package so if you get this warning, consult the packager of your distribution. 

Я ранее скомпилировал исполняемый файл и работал в другой среде. Теперь я нахожусь в новой среде, но у меня все одинаковые зависимости установлены и т. Д.

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

Кто-нибудь знает, как исправить эту ошибку?

ответ

0

Это проблема, связанная с новыми версиями setuptools. Или:

добавить «pkg_resources» в setuptools.setup опции пакеты

или

Понизить до версии 19,2

pip install setuptools==19.2 
1

У меня была такая же проблема, и я не хочу идти далеко назад с версиями мне пришлось провести некоторое исследование ...

Проблема в том, что при обработке pkg_resources.extern все необходимые модули из (private ?) по умолчанию пакет pkg_resources._vendor не найден (отложенная нагрузка).

Сравнить содержимое pkg_resources._vendor у источника (сайт-пакеты) и внутри library.zip, который сгенерирован с исполняемым файлом. Все, что отсутствует в zip, может быть включено options для py2exe.

options={"py2exe": {"includes": ["pkg_resources._vendor.appdirs",...], ...