python打包总出错_pyinstaller---运行不出错,封装出错的办法

运行不出错,但用pyinstaller 封装成exe时出错,提示

MatplotlibDeprecationWarning:

The MATPLOTLIBDATA environment variable was deprecated in Matplotlib 3.1 and wil

l be removed in 3.3.

exec

ModuleNotFoundError:No module named 'numpy.random.common'

而在程序中,未包括 Matplotlib,但程序 一直有这样的提示在,重装了好多次也不知道哪里出错,提示一直有.

最后找到了答案:

问题1答案:

1.对于出现警告的问题,如果你的项目中不需要用到matplotlib库,可以在封装的时候不导入这个库,方法是在spec文件中的excludes行加上excludes=['matplotlib'],然后pyinstaller xx.spec重新封装一遍

2.对于运行速度慢的问题,封装后运行速度慢于直接在python环境中是运行是正常的,以下建议供参考

a.不要封装成单个文件,即 -F,建议用-c或者-w

b.单独创建一个python环境(anaconda下创建一个新的pyhton环境是比较易学的),仅导入项目中用到的库,在这个干净环境下重新封装一遍

问题2答案:

打包时加入提示缺少的模块

pyinstaller[主文件]-p[其他文件1]-p[其他文件2]--hidden-import[自建模块1]--hidden-import[自建模块2]

实际解决:

在spec文件中的excludes行加上excludes=['matplotlib'],hiddenimports=['numpy.random.common'],然后pyinstaller xx.spec重新封装一遍。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值