cx_Freeze для включения зависимых файлов Py - PullRequest
0 голосов
/ 12 декабря 2018

Я создаю установщик для приложения Python, используя приведенный ниже установочный файл

from cx_Freeze import setup, Executable 

buildOptions = dict(excludes = ["tkinter"], includes =["idna.idnadata"], optimize=1)

setup(name = "SoftwareGateway" , 
      version = "0.1" , 
      description = "" , 
      options =dict(build_exe = buildOptions),
      executables = [Executable("main.py", base = base)])

Файл установки получает зависимости самостоятельно, но в моем случае уловим, что main.py вызывает другую программу Python fun.py с использованием вызова подпроцесса.Когда я запускаю setup.py, fun.py не компилируется и не попадает в каталог после установки.

Можно ли скомпилировать fun.py для байт-кода и упаковать его вместе с установщиком?

1 Ответ

0 голосов
/ 12 декабря 2018

Попробуйте добавить import fun в main.py и использовать fun.__file__, чтобы получить правильное расположение скомпилированного забавного вызова в вызове подпроцесса (при условии, что fun.py находится в том же каталоге, что и main.py).Это должно сделать то, что вы просили.

Но почему бы вам просто не упаковать содержимое fun.py в функцию и вызвать эту функцию вместо вызова подпроцесса?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...