2017-06-16 25 views
2

大畫面是的ImportError用於與僕人CV2中的virtualenv

在Windows 7,與PIP安裝在從virtualenv15的解壓名爲.tar.gz與python2.7.2解釋器創建的python3.6.1的virtualenv走狗.1.0 無法導入cv2模塊

語境/環境

在Windows 7(64位)與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 \腳本\ Python.exe文件作爲Eclipse中PyDev項目的主要解釋器。

進入與activate的virtualenv中,然後pip install lackey命令@的℃之後我也裝馬屁精:\ virtualenvs \ virtualenvname \腳本\目錄沒有任何列出的錯誤(安裝工作)。

問題

當我輸入的走狗,在我的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, 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模塊spécifiéest introuvable。 =指定的模塊找不到)

當使用相同的解釋器(C:\ virtualenvs \ virtualenvname \腳本\ Python.exe)直接,如果我寫from lackey import *我得到同樣的堆棧跟蹤

我的決心嘗試

我想同樣的事情(from lackey import *)虛擬環境之外,它的工作。就像在an answer to the stackoverflow's question 'Can't import cv2; 「DLL load failed」'中建議的一樣,我下載了Visual C++ 2015 redistributable package,但我的併發症沒有任何改變。

+0

也許走狗在virtualenv中工作不好。像谷歌的應用程序引擎(pdb)? https://stackoverflow.com/questions/8694741/how-to-setup-pydevs-python-interpreter-in-eclipse-using-pip-within-a-virtualenv – Tun3BotYoda

回答

1

我說,在Windows PATH環境變量,路徑到原來的Python3.6.1從路徑\爲\原有\ python36 \ python.exe的是,包含該python3的virtualenv中的創作C:\Users\user1>C:\Python27\python.exe C:\VirtualenvTools\virtualenv.py --python=C:\VirtualenvTools\Python36\Python.exe C:\virtualenvs\virtualenv命令。 dll文件並添加了相同的python3。dll文件在C:\ virtualenvs \ virtualenv \腳本目錄下,它的工作!

摘要,如果你使用的virtualenv並出現一個ImportError(至少CV2)

  1. 確保可執行文件路徑(其中包含python3.dll文件中python3.6.1在至少)由virtualenv引用(創建命令的--python=部分之後)位於「PATH」Windows環境變量中。
  2. 將其添加到python3.dll文件到\ Scripts \目錄,其中virtualenv是。

goey項目git所有者(glitchassassin)的answer幫我解決了這個問題。他還指出,這個問題是由的virtualenv造成的:

貌似這其實也是virtualenv中an issue

上的virtualenv的問題,有些人發現了同樣的解決方案:

[N] O需要從不受信任的隨機互聯網網站下載DLL文件,只需複製從C之一:/ Python3。 5 /(或安裝Python 3.5的任何地方)放到%PATH%的任何目錄中。

相關問題