Pysparse安装ubuntu

时间:2012-04-09 23:15:13

标签: python ubuntu numpy scientific-computing sparse-matrix

我在ubuntu上安装pysparse时遇到问题。我安装了python-sparse包,但在运行文档中的示例代码时

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

为什么文档中的示例代码不起作用?

谢谢!

1 个答案:

答案 0 :(得分: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']

将导入语句更改为:

from pysparse import spmatrix

from pysparse import superlu

并且测试代码应该可以工作。