Anaconda虚拟环境导入cv2遇DLL加载失败,但opencv-python已安装
Anaconda虚拟环境中导入cv2报错(DLL加载失败)的解决方法
问题现象
在Anaconda虚拟环境venv-1中导入cv2模块时触发以下错误:
Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\anaconda3\envs\venv-1\lib\site-packages\cv2\__init__.py", line 181, in <module> bootstrap() File "C:\anaconda3\envs\venv-1\lib\site-packages\cv2\__init__.py", line 153, in bootstrap native_module = importlib.import_module("cv2") File "C:\anaconda3\envs\venv-1\lib\importlib\__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) ImportError: DLL load failed while importing cv2: Não foi possível encontrar o módulo especificado.
执行pip list确认opencv-python已安装(版本4.7.0.68),重新执行pip install opencv-python提示依赖已满足,但Anaconda基础环境中导入cv2完全正常。
解决步骤
1. 卸载重装opencv-python
先彻底卸载虚拟环境中的opencv-python:
pip uninstall -y opencv-python
重新安装时建议指定与基础环境一致的版本(先在基础环境执行pip show opencv-python查看版本号):
pip install opencv-python==<基础环境opencv版本号>
2. 统一Python版本
检查虚拟环境与基础环境的Python版本是否一致,版本差异可能导致DLL兼容问题。若不一致,可重新创建匹配版本的虚拟环境:
conda create -n venv-1 python=<基础环境Python版本>
3. 改用conda安装opencv
pip安装的opencv在Anaconda环境中易出现兼容性问题,改用conda安装:
先卸载pip版本:
pip uninstall -y opencv-python
激活虚拟环境后执行:
conda activate venv-1 conda install -c conda-forge opencv
4. 补充DLL路径
将虚拟环境的Library\bin目录添加到系统PATH环境变量中(路径为C:\anaconda3\envs\venv-1\Library\bin),也可临时在Python中测试:
import sys sys.path.append("C:\\anaconda3\\envs\\venv-1\\Library\\bin") import cv2
若测试有效,将该路径永久加入系统PATH。
内容的提问来源于stack exchange,提问作者Davi A. Sampaio
相关产品推荐
相关产品推荐

