cx_Freeze包含从属py文件

时间:2018-12-12 06:53:08

标签: python executable cx-freeze

我正在使用下面的安装文件来创建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 :(得分:1)

尝试在import fun中添加main.py,并使用fun.__file__在子流程调用中获得正确的编译乐趣位置(假设fun.py在同一目录中)为main.py)。这应该可以满足您的要求。

但是为什么不简单地将fun.py的内容打包到一个函数中并调用该函数而不是子进程调用呢?