pyinstaller打包后的exe运行报错【相关库:netCDF4、pyproj、eccodes】

程序都编译环境下实现了,打包卡了一天。。。。好在最后解决了

一、pyinstaller使用简述

首先执行

pyinstaller -F -w 你的程序路径

具体参数说明如下(搬运自Python生成exe和安装包之Pyinstaller带参数【只看这篇就够了】_pyinstaller -p参数-CSDN博客):

-h该模块的help信息
-F生成一个可执行文件
-D生成一个目录(包含多个文件)作为可执行文件
-w运行exe时,不显示命令行窗口(仅对Windows有效)
-i该参数后跟可执行文件的icon图标路径
–distpath该参数后跟可执行文件的路径
-n该参数后跟可执行文件的新名字

运行完成后,命令行会有如下结果

运行命令时的目录下会有如下结果(1.2.3.都是运行后生成的)

dist文件夹中就是你打包好的exe了

二、问题描述

首先、打包的时候命令行窗口出现了如图问题

随后exe文件生成出来了,但是双击之后无法正常运行,直接报错。

三、问题处理

从命令行的错误信息入手,查找一下缺少的dll文件是否在电脑中存在,可以用everything搜索。

最终在环境中找到了dll的位置,尝试把dll直接放在exe所在路径,问题并没有解决,会报别的错,可能是依赖关系比较复杂。后来发现可以通过修改spec文件解决问题。

主要修改binaries属性。把发现的dll所在路径(如果用了conda,选择当前使用的conda环境对应的路径)添加到binaries中,按照如图所示格式添加就可以。

然后执行

pyinstaller "D:\01programs\project\main.spec"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值