Python 名称错误:名称';退出';没有定义
我使用cxfreeze从planrequest.py创建了一个Windows可执行文件。它似乎工作正常,但当我运行exe文件时,我得到了Python 名称错误:名称';退出';没有定义,python,cx-freeze,Python,Cx Freeze,我使用cxfreeze从planrequest.py创建了一个Windows可执行文件。它似乎工作正常,但当我运行exe文件时,我得到了name错误:没有定义名称“exit” 声明修复程序将使用import sys。但是,我使用import sys。代码作为python脚本运行良好(如中所示,在编译为可执行文件之前,我对命令行参数进行了大量测试) 您必须将该函数应用于sys: from sys import exit exit() 由于退出是函数本身,您需要用导入sys来调用它,这将不足以使退
name错误:没有定义名称“exit”
声明修复程序将使用import sys
。但是,我使用import sys。代码作为python脚本运行良好(如中所示,在编译为可执行文件之前,我对命令行参数进行了大量测试)
您必须将该函数应用于sys:
from sys import exit
exit()
由于退出是函数本身,您需要用导入sys来调用它,这将不足以使退出在全局范围内 你要么需要做
from sys import exit
exit()
或
请注意,由于您也在使用argv,在第一种情况下,您应该从sys import argv执行
,退出导入sys
,然后从sys import exit()执行操作,cxfreeze
删除通常设置builtins.exit
的site
初始化。如果import sys
您应该使用sys.exit
,但是exit
也应该工作。你在你的代码中的任何地方都覆盖了它吗?我想知道谁认为这是个好主意。@DeepSpace,(至少从python2.5开始就是这样)这就是答案,这真是一个痛苦。如果sys.exit
是必需的,我觉得IDE应该告诉我它是必需的。也许我只是习惯了更多的…固化的?…语言。一个好的IDE应该告诉你这样或那样的方式。在pycharm中,如果我键入import sys
,然后键入exit()
,它会在导入行“ununused import statement”下向我打印一条警告
from sys import exit
exit()
import sys
sys.exit()