python来自。导入失败

时间:2016-03-04 07:13:54

标签: python import module caffe

尝试来自http://caffe.berkeleyvision.org/tutorial/interfaces.html的caffe python示例给出了错误:

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
caffe_root = '/opt/caffe'
import sys
sys.path.insert(0, caffe_root + 'python')
import caffe
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-5-18cb333d5c1b> in <module>()
      7 sys.path.insert(0, caffe_root + 'python')
      8 
----> 9 import caffe

...
...

/usr/lib/python2.7/site-packages/scipy/signal/__init__.py in <module>()
    272 from __future__ import division, print_function, absolute_import
    273 
--> 274 from . import sigtools
    275 from .waveforms import *
    276 from ._max_len_seq import max_len_seq

ImportError: cannot import name sigtools

显然sigtools导入失败,但我无法弄清楚原因。 /usr/lib/python2.7/site-packages/scipy/signal包含所有文件:

$ ls -1 /usr/lib/python2.7/site-packages/scipy/signal/sign*
/usr/lib/python2.7/site-packages/scipy/signal/signaltools.py
/usr/lib/python2.7/site-packages/scipy/signal/signaltools.pyc

一般来说,如果我的工作目录与sigtools包所在的位置完全不同,那么如何使用这样的python进程指令,特别是解析了什么点?

from . import sigtools

1 个答案:

答案 0 :(得分:0)

如上所述:

`from ... import` vs `import .`

&#34; 来自。 import sigtools &#34;导入主模块&#34;。&#34; (这是&#34;信号&#34;)而不是导入对象/模块sigtools。如果&#34;。&#34;已经导入它依赖于该结构。

我认为如果在python导入路径中有2个具有相同名称的模块,这可能会很棘手:解释器会导入找到的第一个模块,而不会导入第二个模块。如果第二个模块的模块多于第一个模块,则可能导致类似于您的问题。