Почему этот атрибут AttributeError в python происходит?

Есть одна вещь, которую я не понимаю.

Почему это

import scipy # happens with several other modules, too. I took scipy as an example now... matrix = scipy.sparse.coo_matrix(some_params) 

произвести эту ошибку:

 AttributeError: 'module' object has no attribute 'sparse' 

4 Solutions collect form web for “Почему этот атрибут AttributeError в python происходит?”

Это происходит потому, что в scipy модуле нет атрибута, называемого sparse . Этот атрибут определяется только при import scipy.sparse .

Субмодули автоматически не импортируются, когда вы просто import scipy ; вам нужно импортировать их явно. То же самое справедливо для большинства пакетов, хотя пакет может выбрать импорт собственных подмодулей, если захочет. (Например, если scipy/__init__.py включил оператор import scipy.sparse , тогда sparse субмодуль будет импортироваться всякий раз, когда вы импортируете scipy .)

Потому что вы импортировали scipy, а не разреженные. Попробуйте from scipy import sparse ?

AttributeError возникает, когда атрибут объекта недоступен.

Ссылка на атрибут является первичной, за которой следует период и имя:

attributeref :: = primary "." идентификатор

Чтобы вернуть список допустимых атрибутов для этого объекта, используйте dir() , например:

 dir(scipy) 

Поэтому, вероятно, вам нужно просто сделать это: import scipy.sparse

По умолчанию пространство имен в Python – "__main__" . Когда вы используете import scipy , Python создает отдельное пространство имен в качестве имени вашего модуля. Правило в Pyhton: когда вы хотите вызвать атрибут из других пространств имен, вы должны использовать полное имя атрибута.

  • Итерация над атрибутами объекта в python
  • Как добавить собственные пользовательские атрибуты в существующие встроенные типы Python? Как строка?
  • Почему я не могу напрямую добавлять атрибуты к любому объекту python?
  • Каков наилучший способ сделать автоматическое назначение атрибутов в Python, и это хорошая идея?
  • Элементы Python Count в списке объектов с соответствующими атрибутами
  • Как использовать форматирование строк для динамического назначения переменных
  • «AttributeError: exp» при использовании numpy.exp () в обычном массиве
  • Python: Являются ли атрибуты класса эквивалентными локальным переменным внутри метода?
  • Python - лучший язык программирования в мире.