Pyinstaller,NameError:全局名称‘quit’未定义
我有一个Python脚本,运行得很好。但是在我用pyinstaller打包之后,当我使用quit()
或exit()
命令时,出现了以下问题:
这是我用来生成配置文件的内容:
# -*- mode: python -*-
a = Analysis([os.path.join(HOMEPATH,'support/_mountzlib.py'), os.path.join(HOMEPATH,'support/useUnicode.py'), 'icinga.py'],
pathex=['/home/user/projects/icinga_python/releases/onefile_v1.0'])
pyz = PYZ(a.pure)
exe = EXE( pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name=os.path.join('dist', 'icinga'),
debug=False,
strip=False,
upx=True,
console=1 )
这是我运行应用程序后看到的内容:
Traceback (most recent call last):
File "<string>", line 222, in <module>
File "<string>", line 207, in main
File "<string>", line 66, in icinga_mysql
File "<string>", line 45, in checksanity
NameError: global name 'quit' is not defined
3 个回答
1
在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。这些问题可能会让我们感到困惑,尤其是当我们刚开始学习编程的时候。比如,有人可能在使用某个功能时,发现它并没有按照预期工作,这时候就需要去查找原因。
通常,我们可以通过查看文档、搜索网上的解决方案,或者在像StackOverflow这样的社区提问来找到答案。社区里有很多经验丰富的程序员,他们乐于分享自己的知识和经验,帮助新手解决问题。
记住,遇到问题是学习编程的一部分,不要气馁!每次解决问题,都是在提升自己的技能。
def quit():
sys.exit()
self.quit_button = Button(self, text="QUIT",command = quit)
2
quit
是在 pygame.locals 中导入的一个内容,使用时可以这样写:
用法:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
26
这是因为没有一个叫做 quit
的命令。你应该使用 sys.exit
。