gpt4 book ai didi

python - virtualenv 中带走狗的 cv2 的 ImportError

转载 作者:太空宇宙 更新时间:2023-11-04 05:05:37 25 4
gpt4 key购买 nike

大图是

在 Windows 7 中,lackey 在 python3.6.1 virtualenv 中使用 pip 安装,该 virtualenv 使用 python2.7.2 解释器从 virtualenv15.1.0 的解压 .tar.gz 创建无法导入 cv2 模块

上下文/环境

在 Windows 7 (x64) 中 C:\Users\user1>C:\Python27\python.exe C:\VirtualenvTools\virtualenv-15.1.0\virtualenv.py --python=C:\VirtualenvTools\Python36\Python.exe C:\virtualenvs\virtualenv (全部一行)我创建了一个 virtualenv 并将其 C:\virtualenvs\virtualenvname\Scripts\Python.exe 文件设置为 Eclipse 中 PyDev 项目的主要解释器。

我在使用 activate 进入 virtualenv 后也安装了 lackey然后是 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. = The specified module could not be found.)

直接使用同一个解释器(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但我的并发症没有任何改变。

最佳答案

我在Windows的PATH环境变量中添加了C:\Users\中的path\to\original\python36\python.exe到原来Python3.6.1的路径user1>C:\Python27\python.exe C:\VirtualenvTools\virtualenv.py --python=C:\VirtualenvTools\Python36\Python.exe C:\virtualenvs\virtualenv 命令用于创建包含以下内容的 virtualenv python3.dll 文件并将相同的 python3.dll 文件添加到 C:\virtualenvs\virtualenv\Scripts 目录中,它成功了!

如果您使用 virtualenv 并且发生 ImportError 时的总结(至少对于 cv2)

  1. 确保 virtualenv(之后 --python= 创建命令的一部分)在“PATH”Windows 环境变量中。
  2. 将相同的 python3.dll 文件添加到 virtualenv 所在的 \Scripts\ 目录。

走狗项目 git 所有者 (glitchassassin) 的 answer帮助我解决了这个问题。他还指出这个问题是由 virtualenv 引起的:

Looks like this is actually also an issue in virtualenv.

关于virtualenv的问题,有人找到了相同的解决方案:

[N]o need to download DLL files from untrusted random Internet sites, just copy the one from c:/Python3.5/ (or wherever you installed Python 3.5) into any directory on your %PATH%.

关于python - virtualenv 中带走狗的 cv2 的 ImportError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44593975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com