cx_Freeze - 如何将多个文件转换到构建文件夹中
cx_Freeze - how do I convert multiple files into the build folder
我制作了一个程序,它使用 os.startfile()
启动另一个 python 程序。
我想把它作为两个 exe
文件,使用 subprocess.call()
启动第二个文件,在 1 个构建文件夹中,但我不知道该怎么做。
我尝试为两者制作一个安装文件,创建 2 个构建文件夹,然后将 exe
文件中的 1 个复制到另一个的构建文件夹中,但得到了这个:
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__'
有什么想法吗?
cx_Freeze
创建的程序不是单个 exe 文件。它是在构建文件夹下创建的整个文件夹。如果你只是复制exe文件,你只是复制了程序的一部分。
与其尝试将两个 exe 文件放在同一个文件夹中,您应该做的是拥有两个文件夹,每个文件夹都是一个完整的 cx_Freeze
程序。您的子流程调用应该调用 ../program2/program2.exe
而不仅仅是 ./program2.exe
.
可以使用以下方法在一个构建中包含两个 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,您只是复制了程序的一部分。
我制作了一个程序,它使用 os.startfile()
启动另一个 python 程序。
我想把它作为两个 exe
文件,使用 subprocess.call()
启动第二个文件,在 1 个构建文件夹中,但我不知道该怎么做。
我尝试为两者制作一个安装文件,创建 2 个构建文件夹,然后将 exe
文件中的 1 个复制到另一个的构建文件夹中,但得到了这个:
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__'
有什么想法吗?
cx_Freeze
创建的程序不是单个 exe 文件。它是在构建文件夹下创建的整个文件夹。如果你只是复制exe文件,你只是复制了程序的一部分。
与其尝试将两个 exe 文件放在同一个文件夹中,您应该做的是拥有两个文件夹,每个文件夹都是一个完整的 cx_Freeze
程序。您的子流程调用应该调用 ../program2/program2.exe
而不仅仅是 ./program2.exe
.
可以使用以下方法在一个构建中包含两个 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,您只是复制了程序的一部分。