Я не могу загрузить метод null_space в Python 3.5 - PullRequest
0 голосов
/ 20 февраля 2019

Согласно документации, в пакете scipy.linalg должна быть функция null_space.Я использую python3, но не могу импортировать функцию:

import scipy.linalg.null_space as null
Traceback (most recent call last):

  File "<ipython-input-142-eb3cbfa6f87d>", line 1, in <module>
    import scipy.linalg.null_space as null

ImportError: No module named 'scipy.linalg.null_space'

Разве это не странно?Что здесь не так?Я также могу импортировать сам Scipy просто отлично.

1 Ответ

0 голосов
/ 20 февраля 2019

Здесь есть две проблемы.Во-первых, null_space не был добавлен в scipy до версии 1.1.0.В примечаниях к выпуску это прямо упоминается.

В этом отношении доступны два обходных пути.Самое простое в долгосрочной перспективе - просто обновить Scipy.Другой способ - скопировать функцию из `scipy / linalg / decomp_svd.py: 333 на GitHub, вставить ее в свои утилиты и использовать ее.

Вторая проблема - вашасинтаксис импорта.Оператор импорта формы import x as y работает только тогда, когда x является модулем.Чтобы импортировать атрибут модуля, вам необходимо использовать from x import a [as b] запись:

from scipy.linalg import null_space
null_space(...)

В качестве альтернативы вы можете использовать import x [as y] запись для доступа к атрибуту через модуль:

import scipy.linalg.null_space
scipy.linalg.null_space(...)

Или

import scipy.linalg.null_space as la
la.null_space(...)

Сообщение об ошибке в значительной степени говорит вам точно, в чем проблема, но это немного загадочно, если вы еще не знаете, что искать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...