2012-04-09 186 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

和测试代码应工作。