2016-03-04 72 views
1

試圖朱古力蟒蛇例子:http://caffe.berkeleyvision.org/tutorial/interfaces.html給我的錯誤:python from。進口從失敗

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 

一般情況下,如何Python進程的指令這樣的,具體是什麼點的決心,如果我的工作目錄是完全與sigtools軟件包所在的位置不同?

from . import sigtools 

回答

0

如這裏指出:

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

進口sigtools」 導入主模塊 「」 (這是「信號」)比導入對象/模塊信號。如果「。」已經輸入它依賴於該結構。

我認爲如果在python導入路徑中有兩個名稱相同的模塊,這可能會非常棘手:解釋器導入第一個找到的對象,並且從不導入第二個對象。如果第二個模塊比第一個模塊多,那麼這可能導致類似於您的問題。

+0

根據回溯「from。import」只發生一次sigtools,所以這似乎並非如此。 –