1

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

ドキュメントのサンプル コードが機能しないのはなぜですか?

ありがとう!

4

1 に答える 1

1

Ubuntu v11.10 で発生しているエラーを再現しました。コードは、pysparse Web サイト ( 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

テストコードが機能するはずです。

于 2012-10-21T18:44:09.600 に答える