本文主要是介绍Python 打包 出现 NameError: name 'help' is not defined 问题记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Python 打包 出现 NameError: name 'help' is not defined 问题记录
- Python 打包 出现 NameError: name 'help' is not defined 问题记录
Python 打包 出现 NameError: name ‘help’ is not defined 问题记录
最近项目写了一个python 程序 Windows pycharm上面用python3 运行,正常不报错,然后用pyinstaller 打包exe程序,双击运行程序直接崩溃,把程序放在控制台上,运行显示 NameError: name ‘help’ is not defined
分析: 从报错可以知道 help 在site-packages\simpleeval.py 这个文件的 119行报错,报错类型没有找到help 的定义,那我们找到这个文件的这一行,看看能不能定位到help 的定义
在文件builtins.py 定位到了help 的定义 应该import 了
这个问题就有点奇怪了,明明找到这个定义,网络上搜索了 半天没有找到答案
解决办法 虽然不知道simpleeval.py 和builtins.py 文件的作用,考虑到源码中定位的help( )这个函数没有实际的功能,而且用python3 能直接运行我写的程序 那我用了个取巧的办法试试,就是在 文件simpleeval.py 的位置DISALLOW_FUNCTIONS = {type, isinstance, eval, getattr, setattr, help, repr, compile, open} 前面强行加一个help()的定义
再次用pyinstaller 打包 打包的exe程序可以正常运行,程序暂时解决,然后把simpleeval.py 文件中的关于help()定义注释了,防止自己的临时方法对其他的程序打包有影响. 有遇到同样问题的同学,知道为什么会出现这个问题的留言一下.
这篇关于Python 打包 出现 NameError: name 'help' is not defined 问题记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!