Python cx\U冻结不与uuu init_uuuuu==\uuuuu main一起工作__
我有一个奇怪的问题。我使用cx_freeze从python脚本创建可执行文件。我有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
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,成功地实现了这一点,但这并不是一个解决方案