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

Sna*_*e P 11 python exe cx-freeze

我最近创建了使用cx_freeze来创建一个python 3.2.2 exe文件.当我试图运行exe文件时没有发生任何事情.

这是我的test.py文件的代码:

print("hello world")

for i in range(5):
    print(i)
Run Code Online (Sandbox Code Playgroud)

这是我的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])
Run Code Online (Sandbox Code Playgroud)

cx_freeze制作的构建目录有一个名为exe.win32-3.2的文件夹,其中包含以下文件:

bz2.pyd
library.zip
python32.dll
Test.exe
unicodedata.pyd

Chr*_*gel 21

我的建议:

  1. 设置base = None(尝试一下:也许这就是你想要的?base = Win32GUI"隐藏"控制台 - 当你构建GUI时这很有用)

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

这进入你的批处理文件:

name-of-your-app.exe %1

PAUSE
Run Code Online (Sandbox Code Playgroud)

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


Ash*_*ary 4

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

看起来你.exe在看到任何东西之前就已经运行并存在了,因此input()在底部放置一个 ,使脚本在退出之前等待用户输入。

print("hello world")

for i in range(5):
    print(i)
input()
Run Code Online (Sandbox Code Playgroud)

  • 我将 input() 放在代码底部并运行它,但随后弹出一个错误:无法导入回溯模块。异常:没有名为 re 的模块原始异常:input():丢失 sys.stdin (2认同)