python 打包为exe文件的各种坑

1.安装pyinstaller:

pip install installer

2.打包文件:

pyinstaller xxx.py

这里遇到一个问题,就是告知编码错误:

nicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position .......

解决方法:改变控制台的编码模式,输入命令:

chcp 65001

3.运行pyinstaller xxx.py 之后生成一个xxx.spec文件和一个dist文件夹,dist文件夹里有一个xxx.exe文件,运行它,又出现一个坑:

ModuleNotFoundError: No module named 'xxx.xxx._xxx'

解决方法:打开xxx.spec文件,将hiddenimports=[]改为 :

将hiddenimports=[''xxx.xxx._xxx'']

4.运行pyinstaller xxx.spec, 然后再执行xxx.exe,又遇到一个坑:

Exception: Cannot find lightgbm library file in following paths:
C:\Users\dyys\AppData\Local\Temp\_MEI217002\lightgbm\lib_lightgbm.dll
C:\Users\dyys\AppData\Local\Temp\lib_lightgbm.dll
C:\Users\dyys\AppData\Local\Temp\_MEI217002\lightgbm\compile\lib_lightgbm.dll
C:\Users\dyys\AppData\Local\Temp\_MEI217002\compile\lib_lightgbm.dll
C:\Users\dyys\AppData\Local\Temp\lib\lib_lightgbm.dll
C:\Users\dyys\AppData\Local\Temp\_MEI217002\compile\Release\lib_lightgbm.dll
C:\Users\dyys\AppData\Local\Temp\_MEI217002\compile\windows\x64\DLL\lib_lightgbm.dll
C:\Users\dyys\AppData\Local\Temp\Release\lib_lightgbm.dll
C:\Users\dyys\AppData\Local\Temp\windows\x64\DLL\lib_lightgbm.dll

原因是找不到lib_lightgbm.dll文件

用everything找到lib_lightgbm.dll文件,然后放到上面指定的任意一个目录中,exe就可以执行了

 

你可能感兴趣的:(python 打包为exe文件的各种坑)