Python导入仅在特定目录中失败
当我尝试从特定目录导入opencv时(我们称之为python_脚本),python 2.7解释器将挂起。但是,当我从主目录(或python_脚本以外的任何其他目录)导入时,导入工作正常:Python导入仅在特定目录中失败,python,opencv,numpy,import,scipy,Python,Opencv,Numpy,Import,Scipy,当我尝试从特定目录导入opencv时(我们称之为python_脚本),python 2.7解释器将挂起。但是,当我从主目录(或python_脚本以外的任何其他目录)导入时,导入工作正常: python2.7 >>> import cv2 >>> 我看不出这些目录之间有什么显著的区别,除了一个有效的目录是我的主目录,另一个挂起的目录是一个包含大量python脚本的目录。没有任何bash脚本更改$PYTHONPATH变量 另一个问题是,当我尝试在我的主目录中导入
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
cascades是一个包含.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.pyc文件修复了该问题 除了.py文件之外,这个脚本目录还包含什么?您可以发布目录列表吗?检查目录中是否没有任何名为cv2.py和/或scipy.py的文件。尝试将
io.py
重命名为其他文件,然后删除io.pyc
。Python已经有一个I/O模块,它可能会被这个模块覆盖。但是,错误似乎与此无关…删除io.py修复了此问题。谢谢@Sterling请将修复作为答案发布(并接受),以便其他人能够快速找到解决方案。
haarcascade_eye.xml haarcascade_mcs_mouth.xml
haarcascade_frontalface_alt.xml haarcascade_mcs_nose.xml