2014-05-11 30 views
3

當我嘗試從特定目錄(我們稱之爲python_scripts)導入opencv時,python2.7解釋器將掛起。然而,當我從我的主目錄(或任何其他目錄比python_scripts)導入,導入工作得很好:僅在特定目錄中導入Python失敗

python2.7 
>>> import cv2 
>>> 

我看不到比工作之外的其他目錄之間的任何顯着的區別是我的主目錄,掛起的目錄是一個包含一堆python腳本的目錄。沒有任何bash腳本改變$ PYTHONPATH變量。

另一個問題是,當我嘗試在我的主目錄中導入scipy和numpy時,這些工作正常。然而,在python_scripts目錄,「進口SciPy的」掛起,我收到以下錯誤爲numpy的:

>>> import scipy 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/lib/python2.7/site-packages/numpy/__init__.py", line 153, in <module> 
    from . import add_newdocs 
    File "/usr/lib/python2.7/site-packages/numpy/add_newdocs.py", line 13, in <module> 
    from numpy.lib import add_newdoc 
    File "/usr/lib/python2.7/site-packages/numpy/lib/__init__.py", line 17, in <module> 
    from . import scimath as emath 
ImportError: cannot import name scimath 

等進口,如「數學進口」或「進口隨機」做工精細的python_scripts目錄。這只是opencv,numpy和scipy庫,似乎有問題。

這並非總是如此。我能夠很好地導入cv2並運行一些基本的圖像I/O命令。當我嘗試使用VideoCapture時,此問題開始發生。但現在我根本無法導入opencv。

我嘗試關閉並重新打開終端模擬器,並沒有工作。

任何幫助表示讚賞。

編輯:python_scripts目錄列表是:

cameo.py  filters.py managers.pyc  rects.pyc  utils.py 
cameo.py.org filters.pyc MyOutputVid.avi stream_video.py utils.pyc 
cascades  io.py  MyPic.png  tags    video_stream.py 
depth.py  io.pyc  notes.txt  trackers.py 
depth.pyc  managers.py rects.py   trackers.pyc 

瀑布是.xml文件目錄:

haarcascade_eye.xml    haarcascade_mcs_mouth.xml 
haarcascade_frontalface_alt.xml haarcascade_mcs_nose.xml 
+0

這個腳本目錄究竟是什麼包含.py文件?你可以發佈目錄列表嗎? –

+1

檢查您的目錄中是否沒有任何名爲* cv2.py *和/或* scipy.py *的文件。 –

+0

好的,我添加了目錄列表。我沒有cv2.py或scipy.py文件。 – Sterling

回答

3

由於Bakuriu說,這個問題是存在的,因爲蟒蛇已經有一個I/O模塊和我的目錄包含一個io.py文件。通過重命名io.py和io.pyc文件解決了該問題。