Python导入仅在某些目录中失败

时间:2014-05-11 19:38:17

标签: python opencv numpy import scipy

当我尝试从特定目录导入opencv时(让它称之为python_scripts),python2.7解释器将挂起。但是,当我从我的主目录(或python_scripts之外的任何其他目录)导入时,导入工作正常:

python2.7
>>> import cv2
>>>

我看不到除了工作目录之外的目录之间的任何显着差异是我的主目录,而挂起的目录是一个包含一堆python脚本的目录。没有任何bash脚本更改$ PYTHONPATH变量。

另一个问题是当我尝试在我的主目录中导入scipy和numpy时,这些工作正常。但是,在python_scripts目录中," import 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

其他导入,例如&#34; import math&#34;或&#34;随机导入&#34;在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

cascades是一个包含.xml文件的目录:

haarcascade_eye.xml              haarcascade_mcs_mouth.xml
haarcascade_frontalface_alt.xml  haarcascade_mcs_nose.xml

1 个答案:

答案 0 :(得分:3)

正如Bakuriu所说,问题出现了,因为python已经有一个I / O模块,而我的目录包含一个io.py文件。通过重命名io.py和io.pyc文件修复了该问题。