pyinstaller无法识别问题
为了找出你的python文件的所有依赖项,pyinstaller会查看你的python脚本中所有的import声明 ,找到所有导入的模块,直到拥有了你的python脚本执行所需的所有模块的完整列表。
PyInstaller可以识别出python包常用的”egg”格式,所以,如果你的脚本是从一个”egg”中导入一个模块,那么pyinstaller将会把egg和它的依赖项一并添加进来。
一些常用的GUI包目前也都被pyinstaller支持,例如:Qt,WxPython, TkInter, Django等等。
或许你的一些脚本中使用了import()等格式的导入,这是pyinstaller无法识别的包导入格式,或者在运行时操作sys.path的值等等。这些都是pyinstaller无法直接识别的。需要你手动做一些其他的工作帮助pyinstaller识别这些内容。
- 通过向pyinstaller添加需要的文件或者路径
- 编辑 你的文件名.spec文件来添加pystaller无法自动识别的内容(后续将详细介绍)
- 写hook文件来提醒pyinstaller那些隐藏的import
使用命令行添加未识别的import模块
pyinstaller –hidder-import=ModuleName hello.py
spec文件的使用
当你执行
pyinstaller options.. myscript.py
的时候,pyinstaller做的第一件事情就是生成一个myscript.spec文件