python - cx_Freeze - 如何将多个文件转换到构建文件夹中

标签 python cx-freeze

我制作了一个程序,它使用 os.startfile() 启动另一个 python 程序。

我想将其作为两个 exe 文件,在 1 个构建文件夹中使用 subprocess.call() 启动第二个文件,但我不知道如何来做到这一点。

我尝试为两者创建一个安装文件,创建 2 个构建文件夹,然后将 1 个 exe 文件复制到另一个的构建文件夹中,但得到了以下结果:

Traceback (most recent call last): 
File "C:\Python34\lib\site-packages\cx_Freeze\initscripts\__startup__.py", line 12, 
in <module> __import__(name + "__init__") 
ImportError: No module named 'menu_record__init__'

有什么想法吗?

最佳答案

可以使用以下方法在一个构建中包含两个 exe:

import sys
from cx_Freeze import setup, Executable

options = {
'build_exe': {'path': sys.path + ['modules']}
}

executables = [
    Executable('script_1.py'),
    Executable('script_2.py')]

setup(
    name='two exe in one folder',
    version='0.1',
    description='Two exe in a single build folder',
    options=options,
    executables=executables)

您可能需要进一步编辑此脚本,但它应该在同一构建文件夹中生成两个 exe。

如果您转到 python 位置(其中 python.exe 所在)并导航到 Lib\site-packages\cx_Freeze\samples\advanced 位置,您应该在其中找到一个名为 setup.py 的脚本,看一下它,您的答案应该就在那里。

Cx_Freeze 中的 exe 具有依赖项。通过复制 exe,您仅复制了程序的一部分。

关于python - cx_Freeze - 如何将多个文件转换到构建文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45360513/

相关文章:

python - Pelican 中类别的介绍页面

python - cx_Freeze 不适用于 pygame (已尝试 "import pygame._view")

python - 使用 cx_Freeze(包括 PyQt5)创建 exe 时出现 ValueError

python - CX_freeze 可执行文件将不起作用。 _tkinter DLL 加载失败

python - Cx_Freeze 找不到 pkg_resources/*.*'

python - 是否有任何 XOR 位减少操作数或函数?

python - 用户登录时Django postsave信号丢失参数

python - cStringIO.StringIO() 不起作用

python - gdb python : Can anyone explain me how to use this script written in this post?

python - cx_freeze错误: Module not found tkinter