pyinstaller 打包心酸历程

出于项目要求,写的神经网络的代码需要打包成一个程序,不管放在什么电脑都能用。
搞了一天多的python打包,试了很多方法,好不容易成功打包了。为了不辜负这一天多的辛劳和痛苦,还是来总结一下。

电脑环境:

  • conda 4.3.30
  • python 3.6.13
  • tensorflow 2.0.0
  • xlwt
  • xlrd
  • pywin32
  • pyinstaller 4.x
  • gmsh 4.8.4

出现的问题:

  1. original_keras_version = f.attrs[‘keras_version‘].decode(‘utf8‘)
    这并不是我自己编码的问题,从报错细节来看的话应该底层文件的问题,百度后发现解决方法:

pip install h5py==2.10 -i https://pypi.tuna.tsinghua.edu.cn/simple/

(出自https://blog.csdn.net/qq_41251963/article/details/110132101)
2. 打包时显示很多东西缺失,有可能是需要的东西没打包上,有可能是不需要打包的东西。
网上有人说要把所有需要的扩展包内容放到需要被打包的.py程序的同目录下,我直接把要打包的.py程序放到conda环境下“Anaconda3\envs\pack\Lib\site-packages”,其中’pack’是我自己新建的环境。
3. 这时候还有错误,PyInstallerImportError: Failed to load dynlib/dll
None.这个错误是在import gmsh的时候出现的,感觉是缺少了gmsh相关的文件,但是都放在环境下了,程序可以运行为什么还会少呢。原来在‘site-packages’中只有‘gmsh-4.9.3.dist-info’,关键库并不在这儿,搜索后找到‘gmsh-4.8.dll’文件,把它复制到‘dist\文件名’中。

即可以运行。

如果有类似的错误说明是打包的时候没有把一些需要的东西给打包进来,需要我们想办法把它加进去。

希望这对同样痛苦的大家有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值