我在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
为什么文档中的示例代码不起作用?
谢谢!
答案 0 :(得分:1)
我复制了您在Ubuntu v11.10上遇到的错误,您的代码看起来就像pysparse网站(http://pysparse.sourceforge.net/fact.html)中的示例代码。
可能的原因:
当我在模块上运行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
并且测试代码应该可以工作。