You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复PyInstaller编译Python脚本为exe后运行报libsecp256k1.dll错误

问题根因

PyInstaller打包时无法自动识别coincurve库依赖的libsecp256k1.dll动态库,导致最终生成的运行目录中缺失该文件,触发初始化失败闪退。coincurve是bip_utils库底层用于secp256k1签名运算的依赖组件,是本次报错的直接诱因。

修复方案

  • 临时修复(已打包完成的版本)
    在生成的dist\CryptoWallet目录下新建coincurve文件夹,从你的Python环境site-packages\coincurve目录中复制libsecp256k1.dll文件到新建的coincurve文件夹内即可正常运行。
  • 永久修复(修改打包参数)
    打包时添加--add-binary参数指定dll的打包路径,命令示例:
    pyinstaller --add-binary "C:\Users\XXX\AppData\Local\Programs\Python\Python39\Lib\site-packages\coincurve\libsecp256k1.dll;coincurve" CryptoWallet.py
    请将示例中的dll路径替换为你本地实际的路径即可。
  • 通用兼容方案
    如果使用spec文件配置打包规则,在Analysis配置项的datas字段中添加如下条目:
    datas=[
        ("C:\\你的本地路径\\libsecp256k1.dll", "coincurve")
    ]
    
    之后使用pyinstaller CryptoWallet.spec命令重新打包即可,后续打包不需要再手动指定参数。

其他注意事项

如果后续运行时出现其他第三方库的类似资源缺失报错,都可以按照相同逻辑,将对应库的缺失资源通过--add-binary或者spec文件的datas字段添加到打包配置中即可,web3、bs4、hdwallet等依赖的资源缺失问题也可以用该方法解决。

内容的提问来源于stack exchange,提问作者user17223026

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 11:39:02