我最近使用cx_freeze创建了一个python 3.2.2 exe文件。当我试图运行exe文件时没有发生任何事情。
以下是我的test.py文件的代码:
print("hello world")
for i in range(5):
print(i)
以下是我的testSetup.py文件的代码:
from cx_Freeze import setup, Executable
exe = Executable(
script="test.py",
base="Win32GUI",
targetName="Test.exe"
)
setup(
name = "Test",
version = "0.1",
description = "I wish programming was this easy",
executables = [exe])
cx_freeze制作的构建目录有一个名为exe.win32-3.2的文件夹,其中包含以下文件:
bz2.pyd
library.zip
python32.dll
Test.exe
unicodedata.pyd
答案 0 :(得分:20)
我的建议:
设置base = None
(尝试一下:也许这就是你想要的一切?base = Win32GUI
确实“隐藏”控制台 - 这在你构建GUI时非常有用)
在与.exe相同的文件夹中创建一个批处理文件(带有.bat的文本文件),调用.exe:
这会进入您的批处理文件:
name-of-your-app.exe %1
PAUSE
您将通过单击批处理文件启动您的应用程序 - 它会使控制台保持打开状态,以便您能够将错误/输出用于其中。
答案 1 :(得分:4)
在代码底部放置input()
,然后重试:
看起来你的.exe
在看到任何内容之前就已经存在并存在,所以在底部放置input()
以使脚本在退出之前等待用户输入。
print("hello world")
for i in range(5):
print(i)
input()