【发布时间】:2017-06-16 16:29:54
【问题描述】:
大局是
在 Windows 7 中,使用 pip 在 python3.6.1 virtualenv 中安装的随从使用 python2.7.2 解释器从 virtualenv15.1.0 的解压缩 .tar.gz 创建无法导入 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 项目的主要解释器。
在使用activate 进入virtualenv 之后,我还在C:\virtualenvs\virtualenvname\Scripts\ 目录下输入了pip install lackey 命令,没有任何列出的错误(安装成功)。
问题
当我在我的 PyDev 项目中使用 from lackey import * 导入走狗时,Eclipse 的控制台中有一个 ImportError。
控制台的堆栈跟踪: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, ObserveEventFile "C:\virtualenvs\virtualenvname\lib\site-packages\lackey\RegionMatching.py", line 17, in <module>import cv2File "C:\virtualenvs\virtualenvname\lib\site-packages\cv2\__init__.py", line 7, in <module>from . import cv2ImportError: 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 *),它成功了。就像在an answer to the stackoverflow's question 'Can't import cv2; “DLL load failed”' 中建议的那样,我下载了Visual C++ 2015 redistributable package,但我的并发症没有任何改变。
【问题讨论】:
-
也许走狗在 virtualenv 中不能很好地工作。像谷歌的应用引擎(pdb)? stackoverflow.com/questions/8694741/…
标签: python virtualenv sikuli-script cv2 lackey