Python cx\U冻结不与uuu init_uuuuu==\uuuuu main一起工作__

Python cx\U冻结不与uuu init_uuuuu==\uuuuu main一起工作__,python,exe,Python,Exe,我有一个奇怪的问题。我使用cx_freeze从python脚本创建可执行文件。我有setup.py文件,其中包含以下代码: from cx_Freeze import setup, Executable; setup(name='Notebook', version='1', description='This is a Notebook.', executables=[Executable('menu.py')]); 我使用以下命令执行此文件: pyth

我有一个奇怪的问题。我使用cx_freeze从python脚本创建可执行文件。我有
setup.py
文件,其中包含以下代码:

from cx_Freeze import setup, Executable;

setup(name='Notebook',
      version='1',
      description='This is a Notebook.',
      executables=[Executable('menu.py')]);
我使用以下命令执行此文件:

python setup.py build
我的项目中有几个模块。当我像这样直接运行菜单时:

m = Menu()
m.run();
一切正常。但当我使用这张支票时:

if __name__ == '__main__':
    m = Menu()
    m.run();
.exe文件只是闪烁。有人能帮忙吗?
对不起英语。提前感谢,

我将cx_Freeze 5.0与Python2.7一起使用,我遇到了完全相同的问题

这似乎是一种倒退,因为我的脚本使用的是先前版本的cx_freeze(4.3.4)

更具体地说,我制作了一个exe(而不是GUI:base=None),并在每个地方打印了一些内容。我写了一个bat来调用exe。 除“主要部分”中的印刷品外,所有印刷品均已印刷


我还使用cx_Freeze附带的SimpleTkApp.py样本进行了测试。问题是一样的:当代码放在一个主节中时,它不再工作了:exe被启动,然后停止,什么也不做。

我最近确实遇到了同样的问题,但我还是设法解决了!这是因为当您运行exe时,它的
\uuuuu name\uuuuuu
不是
\uuuuuuu main\uuuuuuu
,而是类似于脚本的
name\uu。因此,在您的情况下,我非常确定它将是
菜单\uuuu主菜单\uuuu


所以,要想知道你的
\uuu name\uuuu
实际上是什么,你必须
打印(\uuu name\uuuu)
在代码主体的某个地方。

打开一个命令行并从那里调用exe文件。无论它有什么问题,都将显示在控制台中。顺便说一句,为什么不在python shell中使用
py2exe
?“直接运行”?或者在源文件中?我有同样的问题,它适用于cx_freeze 4.3.4,但不适用于cx_freeze 5.0。我通过删除if _uuuname _uuu==“_uuuu_uuuu主”uuuuuuu,成功地实现了这一点,但这并不是一个解决方案