Python для exe: проблемы py2exe с pkg_resources

Я создал приложение на Python, которое хотел бы распространить на своем предприятии, и, к сожалению, установка Python на каждую машину невозможна. Я хотел бы преобразовать приложение в .exe, чтобы пользователи могли запускать мое приложение с помощью ярлыка на своем рабочем столе.

Это моя первая попытка распространения, поэтому, пожалуйста, простите мою неосведомленность в этом вопросе. У меня возникают проблемы с py2exe, когда я пытаюсь преобразовать свой .py-скрипт в .exe.

Мой скрипт setup.py выглядит так:

from distutils.core import setup
import py2exe
import numpy
import matplotlib

setup(console=['inpho.py'],
      data_files=matplotlib.get_py2exe_datafiles()
      )

После запуска python setup.py py2exe я получаю ожидаемые каталоги dist и build. Однако, если я запускаю свое приложение, которое теперь называется InPho.exe, открывается окно cmd, и я сразу же получаю сообщение об ошибке: ImportError: No module named pkg_resources.

Моя первая мысль, что мой сценарий setup.py неверен, я просто не знаю, как его правильно написать. В моем скрипте inpho.py я использую import следующее:

  • панды
  • Ткинтер
  • пиодбк
  • алхимия
  • sqlite3
  • дата и время
  • tkMessageBox
  • os
  • шутил

Любая помощь приветствуется!


person rchav9    schedule 24.07.2014    source источник


Ответы (2)


Py2exe может не обрабатывать некоторые зависимости из коробки. Попробуйте этот совет из учебника py2exe о том, как обрабатывать ошибки импорта в этом случае: Работа с ImportError

person ojy    schedule 24.07.2014
comment
Спасибо за совет, я сейчас читаю эту документацию. Любые другие советы по-прежнему с радостью приветствуются! - person rchav9; 24.07.2014

У меня были похожие проблемы с py2exe. Я смог исправить их, понизив setuptools до версии 19.2.

Дополнительную информацию об этой проблеме с setuptools можно найти здесь: https://github.com/pyinstaller/pyinstaller/issues/1781

person J Jones    schedule 06.04.2016