【发布时间】:2018-02-08 13:45:55
【问题描述】:
tss.py --> 这个文件包含一个打开另一个python文件(dark.py)的子进程
import subprocess as sp
def process():
programName = "python.exe"
fileName = "dark.py"
sp.Popen([programName, fileName])
process()
当我在控制台上将其作为 .py 文件执行时,此功能有效。但是,当我使用 cx_Freeze 创建 2 个可执行表单(tss.exe 和 dark.exe)并打开 tss.exe 时,它不会打开另一个 dark.exe 文件。
下面是用于构建python文件的setup.py文件:
from cx_Freeze import setup, Executable
import sys
import os
tclDLL = r'C:\Users\Username\AppData\Local\Programs\Python\Python36-32\DLLs\tcl86t.dll'
tkDLL = r'C:\Users\Username\AppData\Local\Programs\Python\Python36-32\DLLs\tk86t.dll'
Packages = ["subprocess","tkinter"]
Include_Files = ["icon.ico", "dark.ico",tclDLL, tkDLL]
build_exe_options = {"packages": Packages, "include_files": Include_Files}
base = None
if sys.platform == "win32":
base = "Win32GUI"
os.environ['TCL_LIBRARY'] = r'C:\Users\Username\AppData\Local\Programs\Python\Python36-32\tcl\tcl8.6'
os.environ['TK_LIBRARY'] = r'C:\Users\Username\AppData\Local\Programs\Python\Python36-32\tcl\tk8.6'
setup( name = "TSS",
version = "1.0",
description = "Tournament Scoring System",
options = {"build_exe": build_exe_options},
executables = [Executable("tss.py", base=base, icon="icon.ico")
Executable("dark.py", base=base, icon="dark.ico")])
谢谢
【问题讨论】:
标签: python executable cx-freeze