Я пытаюсь создать .exe для моего проекта python. Открытие сгенерированного файла .exe дает мне ошибку, потому что мой включенный модуль wordcloud
пытается открыть файл, который обычно находится рядом с его исходным кодом.Включение файла, отличного от python, в модуль, требуемый cx_freeze?
Модуль сам по себе выглядит следующим образом (как найдено в C:/python/Lib/site-packages/wordcloud
):
__init__.py
__pycache__/
color_from_image.py
DroidSansMono.ttf
query_integral_image.pyd
stopwords
wordcloud.py
wordcloud_cli.py
модуль внутри сгенерированной cx_freeze ехе выглядит следующим образом (как найдено в C:/.../my-application/builds/0.1/my-app/my-app.exe/wordcloud
):
color_from_image.pyc
query_integral_image.pyc
wordcloud.pyc
__init__.pyc
Если вы не знаете, cx_freeze включает в себя все модули внутри самого .exe, на ген erated .exe - это как исполняемый файл, так и архив.
В этом файле generatec exe/archive я хотел бы добавить файл stopwords
, который находится в исходном источнике. Это возможно?
Большая разница между этим вопросом и параметром cx_freeze include_files
заключается в том, что файлы не должны попадать в результирующую папку, но в результирующий файл .exe, рядом с зависимостью wordcloud!
Редактировать: Я пытался использовать include_files
с .exe как путь, но, как я и ожидал, это не сработает.
error: build\exe.win32-3.3\my-app.exe: Cannot create a file when that file already exists
Что касается zip-файла, вы можете найти это полезным: https://docs.python.org/3/library/zipfile.html – shuttle87
@ shuttle87 Код, вызывающий 'open', не мой, мне придется заменить зависимость от моего собственного или исправление его во время сборки: / – Azeirah