2012-01-04 3 views
5

오케이, 생각하지 않아요, 나는이 문제를 말로 설명 할 수 있습니다. 여기에 ipython 세션 스 니펫이 있습니다. 여기서 scipy를 가져와 스파 스 매트릭스를 구성합니다.scipy에서 모듈을 가져 오는 것이 잘못된 이유는 버그입니까?

In [1]: import scipy as sp 

In [2]: a = sp.sparse.lil_matrix((5,5)) 
     --------------------------------------------------------------------------- 
     AttributeError       Traceback (most recent call last) 
     /home/liveuser/<ipython-input-2-b5a55fc2d0ac> in <module>() 
     ----> 1 a = sp.sparse.lil_matrix((5,5)) 

     AttributeError: 'module' object has no attribute 'sparse' 

In [3]: import scipy.sparse as spar 

In [4]: ax = spar.lil_matrix((5,5)) 

In [5]: a = sp.sparse.lil_matrix((5,5)) # you are kidding me? 

In [6]: a 
Out[6]: 
     <5x5 sparse matrix of type '<type 'numpy.float64'>' 
     with 0 stored elements in LInked List format> 

In [7]: ax 
Out[7]: 
     <5x5 sparse matrix of type '<type 'numpy.float64'>' 
     with 0 stored elements in LInked List format> 

난 (니펫 같은) 특정 방식으로 성긴 서브 모듈을 가져올 때이 일어나고 있는지, 그래서, 처음에, SP를 사용 SP와 스파 변수 모두 희소 행렬을 구성 할 수 없다 이제 스파 스 매트릭스를 구성하는 데 사용할 수 있습니다., 그것은 무슨 일이에요

이다 (그래서 특정 ipython되지 않음)

나는이 파이썬 기본 쉘을 재현 (나는 그들이 동일한 개체 단지 참조 추측) 디자인?? 그렇게 친절하게 정교하다. 또는 그것은 버그입니까 ??

내 시스템은 Fedora 16 KDE-scientific, 64 비트입니다.

답변

9

이것은 SciPy가 아닌 Python의 가져 오기 결과물입니다. 수행

from scipy import sparse [as sp] 

또는

import scipy.sparse [as sp] 

( []가 선택성에 대한 메타 표기법이다).

요약하면 import 문은 import as 문으로 작성된 일부 약어가 아닌 모듈의 "true"이름을 알아야합니다.

+1

아니요, 나는 sp에서 총 scipy를 가져오고 있습니다. 코드 스 니펫에서 분명히 희망합니다. spip import를 sp, sparse 하위 모듈을 가져 오지 않는다는 뜻입니까? – fedvasu

+0

@fedvasu : 가져 오는 방법에 상관없이'scipy 가져 오기 '할 때'sparse'는 가져 오지 않습니다. 명시 적으로 가져 와야하며 전체 이름을 사용해야합니다. –

+0

왜 그렇게 ?? , 당신은 그 지점을 명확히 할 수 있습니까 http://chat.stackoverflow.com/rooms/6384/quickscipy-talk – fedvasu

관련 문제