问题描述
我正在尝试使用PyInstaller构建一个简单的Python交互式控制台应用程序。
我希望Python help()可用,但是PyInstaller似乎以某种方式更改了builtins
的内容并删除了帮助。
这是一个打开Python窗口的简单脚本。当我直接在Windows命令提示符中运行此脚本时,可以从交互式会话访问help()
。
import code
code.InteractiveConsole().interact()
但是,如果我通过以下方式构建可执行文件
PyInstaller test.py
并运行它,help
不可用。当我查看builtins
的内容时,我发现它不包含在内。
我在Windows 10上,使用最新的Python 3.8版本。
更新:由于以下Nico的建议,以下代码恢复了内置quit()
,exit()
和copyright()
函数,这些函数已被pyinstaller删除。 / p>
import code
import builtins
if not hasattr(builtins,'help'):
import _sitebuiltins
if os.sep == '\\':
eof = 'Ctrl-Z plus Return'
else:
eof = 'Ctrl-D (i.e. EOF)'
builtins.quit = _sitebuiltins.Quitter('quit',eof)
builtins.exit = _sitebuiltins.Quitter('exit',eof)
builtins.help = _sitebuiltins._Helper()
builtins.copyright = _sitebuiltins._Printer("copyright",sys.copyright)
code.InteractiveConsole().interact()
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)