Pysparse установка Ubuntu

1

У меня возникли проблемы с установкой pysparse на ubuntu. Я установил пакет python-разреженный, но при запуске кода примера, найденного в документации

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; но насколько я знаю, установка Python по умолчанию в Ubuntu, так как несколько версий назад была 2.7 .... можете ли вы вызывать правильный интерпретатор?
  • 0
    Вы пробовали from pysparse import sparse а затем просто с помощью sparse.spmatrix ?
Теги:
numpy
sparse-matrix
scientific-computing

1 ответ

1

Я воспроизвел ошибку, имеющуюся у вас на Ubuntu v11.10, и ваш код выглядит так же, как код примера с веб-сайта pysparse (http://pysparse.sourceforge.net/fact.html).

Возможные причины:

  • Пример старый, и макет модуля pysparse изменился с тех пор, как был написан пример (скорее всего)
  • Возможно, автор/сторонник пакета pysparse Ubuntu меняет макет модуля так, что путь импорта отличается.

Когда я запускаю dir() в модуле для просмотра пространства имен модуля, я не вижу "разреженных" или "прямых" имен, но я вижу классы напрямую.

$> python

Python 2.7. 2+ (по умолчанию, 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

из супермаркета импорт

и тестовый код должен работать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню