#python #cx-freeze
#python #cx-freeze
Вопрос:
мой код отлично работает в Pycharm. но когда она была преобразована в exe, программа вскоре закрылась, я попытался ее открыть.
ниже приведен мой код в setup.py
from cx_Freeze import setup, Executable
packages = [
'pygame',
'pyaudio',
'wave',
'time',
'scipy.io',
'python_speech_features',
'os',
'pickle',
'ModA', # ModA and ModB is other 2 py I wrote for the program
'ModB'
]
includefiles = ['file.pkl', '.\audio\'] # i imported a pickle file and a folder with some audio files inside
includes = []
excludes = []
setup(
name="Project",
version="0.1",
options={'build_exe': {'excludes': excludes, 'packages': packages, 'include_files': includefiles}},
executables=[Executable(script="Main.py", base=None, icon='confiture.ico', shortcutDir='Desktop')]
)
Я использовал этот код для другой программы, и он работает нормально. Пожалуйста, помогите мне, что я сделал не так. Это было бы большой помощью. большое спасибо ~
Комментарии:
1. Привет, Джем, я иногда конвертирую свои файлы python в exes, но не использую cx_freeze. Я использую конвертер py2exe с открытым исходным кодом -> github.com/brentvollebregt/auto-py-to-exe И я понимаю, что иногда созданные EXE-файлы не работают. Обычно я переустанавливаю python и устанавливаю только НЕОБХОДИМЫЕ скрипты / библиотеки и повторяю попытку. Отказ от ответственности, однако, я не использую pycharm или cx_freeze, просто добавляя дополнительную информацию для вас.
2. спасибо, что показали мне этот новый модуль. Я пробовал, но у меня появилось много вопросов к интерфейсу, даже если я смотрел обучающие видеоролики. например, если у меня создан extra .py, как мне его импортировать, где выбрать пакеты… но, честно говоря, неплохо поискать новый вариант.
3. @JamCheung Одна из популярных причин неработоспособности EXES связана с тем, что упаковщики сжимают exe или dll внутри с помощью UPX или аналогичных упаковщиков, которые не работают в 100% случаев. Должна быть какая-то опция для отключения сжатия UPX. Также я обычно использую PyInstaller , мне это нравится, и обычно он работал хорошо. Документы . Вы просто устанавливаете pyinstaller один раз,
python -m pip install pyinstaller
а затем для вашего скрипта просто запустите простую командуpyinstaller --onefile --noupx my_script.py
, результат появится во./dist/
вложенной папке.4. Вот довольно полное руководство dev.to/eshleron /…
5. Заранее всем спасибо. Я пробовал как pyinstaller, так и py2exe converter. оба выдают мне следующую ошибку: {Фатальная ошибка Python: Py_Initialize: не удается загрузить файловую систему Ошибка поиска кодека: неизвестно кодировка: utf-8 Текущий поток 0x0000278c (самый последний вызов первым):} Что я понятия не имею, что это значит. Я делаю все свои кодировки на английском языке. Хорошо, что, по крайней мере, это дает мне что-то. cx_Freeze не