py2exe "include" модули: когда ими нужно управлять вручную?

Когда необходимо указывать модули для включения? Разве py2exe не ищет и не включает в себя все, что нужно для: http://www.py2exe.org/index.cgi/FAQ?

И почему он включает модули, которые не используются, такие как ["Tkconstants", "Tkinter", "tcl", "wx"] (я использую Qt, но на моем компьютере установлен wx), которые затем необходимо быть исключенным?

1 ответ

Решение

py2exe пытается создать график всех зависимостей, начиная с вашего сценария точки входа. Это не всегда может быть правильно на 100%, поэтому вам предоставляется includes а также excludes варианты тонкой настройки пакета.

Смотрите параметры здесь: http://www.py2exe.org/index.cgi/ListOfOptions

Иногда модули, которые вам не нужны, будут включены, и если это произойдет, просто добавьте их в исключение. Я полагаю, что ответ на ваш вопрос будет следующим: управляйте файлом setup.py вручную, когда стандартные параметры не упаковывают его так, как вам нужно.

Файлы справки для py2exe на самом деле включают в себя кучу советов и хитростей... один, специально предназначенный для решения вашей проблемы с включенным Tk: http://www.py2exe.org/index.cgi/TkInter

Индекс советов и подсказок находится здесь: http://www.py2exe.org/index.cgi/Py2Exe

Я построил тонну приложений, используя очень похожие py2app для осс. В разных версиях иногда они меняют способ обнаружения зависимостей. Он также использует различные "рецепты" для обработки определенных пакетов, таких как Qt. Внезапно началась новая версия p2app, включающая все модули PyQt, а не только те, которые я использовал. Итак, мне пришлось добавить их в мои исключения.

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