pyinstaller打包exe,报错no module named …

一 、解决 no module named .. 报错问题:

解决方法1:更新 pyinstaller 包

pip install --upgrade pyinstaller

解决方法2:将代码里的 from .. import .. 改成 import .. 

解决方法3:打包时,使用 –hidden -import 选项,隐式导入缺少的包

pyinstaller -F --hidden-import easygui C:\Users\liujieru\Desktop\要打包的文件.py 

解决方法4:将包所在的路径添加到 环境变量 中

二、解决 cmd 窗口闪退问题

可以在 python 脚本最后加一句,input("Press any key to continue!")

三、 pyinstaller 常用参数(pyinstaller使用官方文档

参数名 描述 说明
-h 显示帮助
-v 显示版本号
–distpath 生成文件放在哪里 默认:当前目录的dist文件夹内
-y

如果dist文件夹内已经存在生成文件,

则不询问用户,直接覆盖

默认:询问是否覆盖
–clean

在本次编译开始时,

清空上一次编译生成的各种文件

默认:不清除
-D 生成one-folder的程序(默认) 生成结果是一个目录,各种第三方依赖、资源和exe同时存储在该目录
-F 生成one-file的程序 生成结果是一个exe文件,所有的第三方依赖、资源和代码均被打包进该exe内
-n 生成的.exe文件和.spec的文件名

默认:用户脚本的名称,

即main.py和main.spec

-p

指定额外的import路径,

类似于使用PYTHONPATH

参见PYTHONPATH
–hidden-import 打包额外py库 pyi在分析过程中,有些import没有正确分析出来,运行时会报import error,这时可以使用该参数
-c 显示命令行窗口 与-w相反,默认含有此参数
-w 不显示命令行窗口 编写GUI程序时使用此参数有用。
-i 为main.exe指定图标 pyinstaller -i beauty.ico main.py
-d 执行生成的main.exe时,会输出pyi的一些log,有助于查错 默认:不输出pyi的log

来源:jieru_liu

物联沃分享整理
物联沃-IOTWORD物联网 » pyinstaller打包exe,报错no module named …

发表评论