pyinstaller使用问题总结

pyinstaller使用问题总结

 

  • 打包过程失败
  1. setup_tools文件需要更新

报错提示

 

解决办法

升级setup tools,如下所示:

  1. 在中文路径下打包

报错提示

解决办法

更换英文目录下打包即可。

解码错误问题

报错提示

类似:UnicodeDecodeError: 'xxx' codec can't decode byte 0xce in position

解决办法

更换英文目录下打包或者打包命令窗口中输入 chcp 65001后,重新打包。

PYQT5安装错误

报错提示

解决办法

重装PYQT5。

  • 打包成功,但是启动工具失败

pyinstaller使用问题总结_第1张图片

首先打包命令中不可以包含“- w”参数,它会隐藏命令行窗口,导致看不到错误提示。

失败原因大致分为下面几种:

1. 导入module不全

报错提示

no module named xxx

解决办法有2种

  1. 命令行参数加 --hidden-import xxx(导入应用需要的包)
  2. 在打包生成的xxx.spec文件中hiddenimports参数后填入module名,再重新打包spec文件即可

 

2. 工具依赖dll缺失

报错提示

ImportError: DLL load failed

解决办法

将依赖的dll拷贝到代码中指定的路径即可。

3. PyQt plugins缺失

报错提示

解决办法

将PyQt\Qt\plugins下文件夹拷贝到打包结果目录。

4. 依赖文件路径不存在

问题表象

打包的本机上运行正常,但是将程序放到其它机器上运行就有问题。

解决办法

使用相对路径或者冻结路径来指定依赖的文件。

  • 其它注意事项
  1. 权限问题
  1. 使用管理员权限运行cmd或其它命令行窗口。
  2. 使用完全权限的管理员账户。
  1. 打包后文件太大
  1. 在代码中减少不必要的import,以from xxx import x替换import xxx。
  2. 在精简的运行环境(如原生python环境)下打包,缺什么包就安装什么包,避免不必要的python包被打包入程序。

你可能感兴趣的:(Python知识点)