gpt4 book ai didi

Python cx_Freeze - 一个可执行文件无法打开另一个?

转载 作者:行者123 更新时间:2023-12-01 02:11:14 25 4
gpt4 key购买 nike

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")])

谢谢

最佳答案

尝试在脚本中将 fileName = "dark.py" 重命名为 fileName = "dark.exe"

请记住,您正在将 .py 文件转换为可执行格式(即 .exe),因此您必须启动您的 exe 文件,而不是无法在另一台计算机上运行的 .py 文件。

所以它应该看起来像:

import subprocess as sp

def process():
fileName = "dark.exe"
sp.call(fileName)

process()

关于Python cx_Freeze - 一个可执行文件无法打开另一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48687001/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com