运行不出错,但用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重新封装一遍。