Я пытаюсь скомпилировать простой скрипт, который я написал, используя Python3 и PyQt4, используя cx_Freeze, но у меня есть три проблемы, которые я просто не могу понять.
Я не могу заставить иконки появляться. Я использую для этого скомпилированный файл ресурсов, то есть импортирую .py, содержащий ресурсы, и я попытался следовать совету здесь , копируя папку imageformats в папку моего проекта, но, похоже, ничего не работает.
Я не использую модули severl python, включая tcl и ttk, поэтому я добавил их в опцию excludes
. Тем не менее, они все еще добавляются.
Когда я пытаюсь скомпилировать с base='Win32GUI'
, запуск созданного exe вызывает исключение: 'NoneType' has no attribute 'encoding'
Я почти уверен, что с моим сценарием установки что-то не так, поскольку документация по cx_Freeze не слишком многословна, так что, надеюсь, кто-то может указать на проблему. Вот сценарий установки. Я не собираюсь публиковать сценарий, который собираю, потому что он довольно длинный, но, если это необходимо, я попытаюсь создать краткую версию для тестирования.
from cx_Freeze import setup, Executable
exe = Executable(
script='cconvert.py',
base='Win32GUI'
)
options = dict(
excludes=['curses', 'email', 'tcl', 'ttk']
)
setup(
name="Coord Convertor",
version="0.1",
description="A Coordinate converter from DMS to DD",
requires=['pyqt4 (>=4.8)', 'dtlibs (>=0.4.1)'],
data_files=['imageformats'],
executables=[exe],
options={'build-exe': options}
)