使用cx_freeze创建python exe文件后,该文件不执行任何操作

时间:2012-10-09 01:27:15

标签: python exe cx-freeze

我最近使用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

2 个答案:

答案 0 :(得分:20)

我的建议:

  1. 设置base = None(尝试一下:也许这就是你想要的一切?base = Win32GUI确实“隐藏”控制台 - 这在你构建GUI时非常有用)

    < / LI>
  2. 在与.exe相同的文件夹中创建一个批处理文件(带有.bat的文本文件),调用.exe:

  3. 这会进入您的批处理文件:

    name-of-your-app.exe %1
    
    PAUSE
    

    您将通过单击批处理文件启动您的应用程序 - 它会使控制台保持打开状态,以便您能够将错误/输出用于其中。

答案 1 :(得分:4)

在代码底部放置input(),然后重试:

看起来你的.exe在看到任何内容之前就已经存在并存在,所以在底部放置input()以使脚本在退出之前等待用户输入。

print("hello world")

for i in range(5):
    print(i)
input()