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



当我尝试从特定目录(让我们称之为python_scripts)导入opencv时,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

其他导入,如"import math"或"import random"在python_scripts目录下可以正常工作。只有opencv、numpy和scipy库似乎有问题。

这种情况并不总是发生。我能够很好地导入cv2并运行一些基本的映像I/O命令。这个问题开始发生时,我试图使用视频捕获。但现在我根本无法导入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

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

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

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

相关内容

  • 没有找到相关文章

最新更新