2012-04-09 176 views
1

我在安裝pysparse時遇到了麻煩。我安裝了軟件包python-稀疏,但在運行示例代碼,當文檔中找到Pysparse安裝ubuntu

from pysparse.sparse import spmatrix 
from pysparse.direct import superlu 
import numpy 
n = 100 
A = poisson2d_sym_blk(n) 
b = numpy.ones(n*n) 
x = numpy.empty(n*n) 
LU = superlu.factorize(A.to_csr(), diag_pivot_thresh=0.0) 
LU.solve(b, x) 

我得到錯誤信息

Traceback (most recent call last): 
    File "sparse2.py", line 1, in <module> 
    from pysparse.sparse import spmatrix 
ImportError: No module named sparse 

我也曾嘗試運行

$ pip install pysparse 
Requirement already satisfied: pysparse in /usr/lib/python2.6/dist-packages 
Installing collected packages: pysparse 
Successfully installed pysparse 

爲什麼文檔中的示例代碼不起作用嗎?

謝謝!

+0

您使用的是哪個版本的Ubuntu?正如我所看到的,pip鏈接到python2.6;但據我所知在Ubuntu的默認python安裝,因爲幾個版本以前是2.7 ....你能說你是調用正確的解釋器? – dsign 2012-04-20 18:48:08

+0

你嘗試過'從pysparse導入稀疏',然後只使用'sparse.spmatrix'? – user545424 2012-04-21 01:11:52

回答

1

我複製了你在Ubuntu v11.10上遇到的錯誤,你的代碼看起來就像pysparse網站的示例代碼(http://pysparse.sourceforge.net/fact.html)。

可能的原因:

  • 的例子是舊的和pysparse模塊佈局已經改變,因爲例如寫(最有可能)
  • 這是可能的pysparse Ubuntu的軟件包變化的作者/維護者模塊佈局以便導入路徑不同。

當我在模塊上運行dir()以查看模塊的命名空間時,我沒有看到「稀疏」或「直接」的名稱,但我直接看到類。

$> python

Python 2.7.2+ (default, Jul 20 2012, 22:12:53)

>>> import pysparse

>>> dir(pysparse)

['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', '__version__', 'itsolvers', 'jdsym', 'os', 'precon', 'sparray', 'spmatrix', 'superlu', 'umfpack']

更改您的import語句:

from pysparse import spmatrix

from pysparse import superlu

和測試代碼應工作。