大图是
在 Windows 7 中,在 python3.6.1 virtualenv 中使用 pip 安装的随从从 virtualenv15.1.0 的解压缩 .tar.gz 创建的 python2.7.2 解释器无法导入 cv2 模块。
背景/环境
C:\Users\user1>C:\Python27\python.exe C:\VirtualenvTools\virtualenv-15.1.0\virtualenv.py --python=C:\VirtualenvTools\Python36\Python.exe C:\virtualenvs\virtualenv
在带有(全部一行)的Windows 7 (x64) 中,我创建了一个 virtualenv 并将其C:\virtualenvs\virtualenvname\Scripts\Python.exe文件设置为 Eclipse 中 PyDev 项目的主要解释器。
在输入 virtualenv 后,我还安装了走狗activate
,然后使用pip install lackey
命令 @ C:\virtualenvs\virtualenvname\Scripts\目录,没有任何列出的错误(安装成功)。
问题
当我from lackey import *
在我的 PyDev 项目中导入走狗时,有一个ImportError
来自 Eclipse 的控制台。
控制台的堆栈跟踪:
Traceback (most recent call last):
File "C:\Users\user1\workspace\sikulixframework0.1\testManager.py", line 4, in <module>
from lackey import *
File "C:\virtualenvs\virtualenvname\lib\site-packages\lackey\__init__.py", line 31, in <module>
from .RegionMatching import Pattern, Region, Match, Screen, ObserveEvent
File "C:\virtualenvs\virtualenvname\lib\site-packages\lackey\RegionMatching.py", line 17, in <module>
import cv2
File "C:\virtualenvs\virtualenvname\lib\site-packages\cv2\__init__.py", line 7, in <module>
from . import cv2
ImportError: DLL load failed: Le module spécifié est introuvable.
(Le module spécifié est introuvable. = 找不到指定的模块。)
直接使用相同的解释器(C:\virtualenvs\virtualenvname\Scripts\Python.exe)时,如果我写,from lackey import *
我会得到相同的 stackTrace
我的决心尝试
from lackey import *
我在虚拟环境之外尝试了相同的事情( )并且它起作用了。就像在回答 stackoverflow 的问题'Can't import cv2; “DLL 加载失败”,我下载了Visual C++ 2015 可再发行包,但我的复杂性没有任何改变。