Anaconda虚拟环境下pyinstaller ImportError:DLL

问题描述

最近需要使用pyinstaller打包exe,结果exe生成以后打开出现下述问题,importerror:dll找不到指定的模块。从报错来看都是pandas模块

本人环境:win11,conda 22.9.0,python3.9,pyinstaller=6.10.0,pandas=2.2.2

Traceback (most recent call last):
  File "encode.py", line 1, in <module>
  File "PyInstaller\loader\pyimod02_importers.py", line 378, in exec_module
  File "pandas\__init__.py", line 77, in <module>
  File "PyInstaller\loader\pyimod02_importers.py", line 378, in exec_module
  File "pandas\core\api.py", line 47, in <module>
  File "PyInstaller\loader\pyimod02_importers.py", line 378, in exec_module
  File "pandas\core\groupby\__init__.py", line 1, in <module>
  File "PyInstaller\loader\pyimod02_importers.py", line 378, in exec_module
  File "pandas\core\groupby\generic.py", line 68, in <module>
  File "PyInstaller\loader\pyimod02_importers.py", line 378, in exec_module
  File "pandas\core\frame.py", line 149, in <module>
  File "PyInstaller\loader\pyimod02_importers.py", line 378, in exec_module
  File "pandas\core\generic.py", line 193, in <module>
  File "PyInstaller\loader\pyimod02_importers.py", line 378, in exec_module
  File "pandas\core\window\__init__.py", line 1, in <module>
  File "PyInstaller\loader\pyimod02_importers.py", line 378, in exec_module
  File "pandas\core\window\ewm.py", line 11, in <module>
ImportError: DLL load failed while importing aggregations: 找不到指定的模块。

 遂从网上找各种方法,尝试以下方法后都没用。

  1. 在.spec文件中编辑pathex=[‘D:\anaconda\envs\shuiwu\Lib\site-packages’]
  2. hiddenimports=['pandas'],hookspath=[‘D:\anaconda\envs\encode\Lib\site-packages\pandas’], encode为虚拟环境名
  3. a.datas += Tree("D:\anaconda\envs\encode\Lib\site-packages\pandas", prefix="pandas") 

解决方法 

将虚拟环境中的pandas文件夹直接拷贝到项目下,再运行pyinstaller,一次成功!

希望能对其他遇到该问题的小伙伴有帮助,注意看运行时的报错,找不到的模块就去虚拟环境下把那个包拷贝到项目下,在打包就没问题了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值