我目前正在尝试使用cx_Freeze为我的python脚本创建一个.exe文件。 首先,cx_freeze将文件夹中的所有数据都获取到build文件夹中? 其次,我在启动.exe文件时遇到问题。第一个文件打开第二个文件的事实可能是问题? 控制台打开和关闭,根据Stackoverflow上的另一篇文章,我创建了一个包含以下内容的.bat文件:
myfilename.exe%1
pause
检查问题是什么,我遇到了这个问题: Issue
我真的不知道接下来要做什么,因为我在setup.py上做了很多事情来使事情有效。 这是setup.py:
"""setup.py"""
from cx_Freeze import setup, Executable
import os
os.environ['TCL_LIBRARY'] = "C:\\Users\\Roukira\\AppData\\Local\\Programs\\Python\\Python36\\tcl\\tcl8.6"
os.environ['TK_LIBRARY'] = "C:\\Users\\Roukira\\AppData\\Local\\Programs\\Python\\Python36\\tcl\\tk8.6"
build_exe_options = {"includes": ["tkinter"]}
setup(name="todolist",
version="0.1",
description = "A simple to do list with differnt tabs per account.",
options = {"build_exe": build_exe_options},
executables = [Executable("login_system.py",base=None)])
我只使用枕头作为外部模块,但它似乎不是问题。 感谢您的提前帮助!
编辑:我设法通过在" include_files"中添加ddl缺失文件路径来修复它。选项:
build_exe_options = {"packages": ["os", "tkinter"], "include_files": ["to_do_list.py","336sur525.gif","384sur540.gif",
"accounts.txt","button_hide_2.gif","button_quit_2.gif","choose.gif","icone.ico","user.gif",
r"C:\Users\Roukira\AppData\Local\Programs\Python\Python36\DLLs\tcl86t.dll",
r"C:\Users\Roukira\AppData\Local\Programs\Python\Python36\DLLs\tk86t.dll"]}
我的脚本使用subprocess.call函数调用另一个脚本,因此在成为.exe之后它没有工作,我在。#include; include_files"中添加了.py文件。它按预期工作。