pyinstaller运行时出问题 记录解决
本文记录了解决pyinstaller打包含有numpy、pandas的代码出现的运行时错误问题
背景
在使用pyinstaller
打包包含numpy
、pandas
包时出现了一些错误。打包过程报了一些警告,缺少pymysql
等几个包,但是最后也是打包成功了。但是到运行时则会出现缺少numpy依赖的问题。
解决流程
-
尝试网上方法
- 降低numpy版本,从1.22 —>1.15
结果报错,不让我安装 - 改写spec文件,在hiddenimports处添加numpy和pandas
结果无用 - 在执行打包命令时,显示的使用-hidden-import引入两个包
还是无用 - 换至开发环境下进行打包,怕base环境缺少某些需要的包
依旧无用
- 降低numpy版本,从1.22 —>1.15
-
正解
github找了、google找了、百度找了、论坛找了;都没用。最后只能求助于官网。
看到官网有这么一句话:
Python packages conditionally import some other packages. So to achieve slim apps it is recommended create a virtualenvz with only dependencies required by your app.
虽然这句话是为了让打包后的结果更小吧,但是回想到最初打包中报的缺少
pymysql
这些包的警告,我准备尝试一些,创建一个新的环境,全部用conda
安装numpy、pandas、redis、redis-py、pyinstaller
,只使用-F
参数。成了!
结论
由于只是打包一个小文件给redis一个客户端使用,所以并没有去认真学习pyinstaller的各种东西,暂时也没这个必要。
重新创建一个新的之包含所需包的环境还是很有必要的!
标签:pyinstaller,记录,redis,缺少,Pyinstaller,numpy,pandas,打包 From: https://www.cnblogs.com/Fortunater/p/17197251.html