AttributeError: модуль 'numpy' не имеет атрибута '__version__'

Я обновил свой компьютер сегодня и получаю следующее сообщение об ошибке, когда пытаюсь импортировать панды:

import pandas as pd        
AttributeError: module 'numpy' has no attribute '__version__'

Я пробовал предложения по следующим ссылкам:

  1. AttributeError: объект 'модуль' не имеет атрибута '__version__'
  2. AttributeError: объект 'модуль' не имеет атрибута '__version__'

У меня нет файлов с именами numpy.py, кроме пакета numpy.

Я запускаю anaconda2 в Windows 10 и создал виртуальную среду Python 3.5.

Ниже приводится полное сообщение об ошибке:

Python 3.5.5 | packaged by conda-forge | (default, Apr  6 2018, 16:03:44) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas as pd
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\j267156\AppData\Local\Continuum\anaconda2\envs\sf35\lib\site-packages\pandas\__init__.py", line 23, in <module>
    from pandas.compat.numpy import *
  File "C:\Users\j267156\AppData\Local\Continuum\anaconda2\envs\sf35\lib\site-packages\pandas\compat\numpy\__init__.py", line 10, in <module>
    _np_version = np.__version__
AttributeError: module 'numpy' has no attribute '__version__'

Обновлено: выполнение следующих команд дает ошибку

import numpy
print(numpy.__file__)
AttributeError: module 'numpy' has no attribute '__file__'
print(numpy.version.version)
AttributeError: module 'numpy' has no attribute 'version'

Edit2: выполнение следующих команд дает мне следующие ошибки:

import numpy as np
np.zeros(5)
#AttributeError: module 'numpy' has no attribute 'zeros'
vars(np).keys()
#dict_keys(['__name__', '__package__', '__spec__', '__loader__', '__doc__', '__path__'])

Edit3: следующие команды приводят к следующему выводу:

import numpy as np    
In [7]: np.__path__
    Out[7]: _NamespacePath(['C:\\Users\\j267156\\AppData\\Local\\Continuum\\anaconda2\\envs\\sf35\\lib\\site-packages\\numpy'])

    In [8]: np.__loader__
    Out[8]: <_frozen_importlib_external._NamespaceLoader at 0x2033a3c8080>

что говорит import numpy; print(numpy.__file__)?

Anthony Sottile 13.05.2018 00:16

также вы можете попробовать import numpy; numpy.version.version Out [1]: '1.14.3'

NaN 13.05.2018 01:39

@AnthonySottile - я получаю это сообщение: ----> 1 print (numpy .__ file__) AttributeError: модуль numpy не имеет атрибута файл

ktj1989 13.05.2018 02:52

@NaN Я получаю этот ответ ----> 1 numpy.version.version AttributeError: модуль numpy не имеет атрибута version

ktj1989 13.05.2018 02:54

Попробуйте ... импортировать numpy как np .... такие ошибки, как ... модуль 'numpy' не имеет атрибута 'xxx', похоже, связаны с ошибками при установке

NaN 13.05.2018 06:36

Странное отсутствие атрибутов. Что такое vars(numpy).keys()?

Davis Herring 13.05.2018 16:59

@DavisHerring Это мой результат >>> vars (numpy) .keys () dict_keys (['дорожка', 'грузчик', 'док', 'название', 'спецификация', 'упаковка'])

ktj1989 13.05.2018 18:46

@NaN Я безуспешно пытался установить и удалить как numpy, так и pandas. import numpy as np не дает ошибки, хотя когда я вызываю np.zeros (5), я получаю следующую ошибку: AttributeError: модуль 'numpy' не имеет атрибута 'нули'

ktj1989 13.05.2018 18:49

@ ktj1989: Хорошо: какие теперь значения numpy.__path__, numpy.__loader__, и т.п.?

Davis Herring 13.05.2018 19:41

@DavisHerring вызывает следующие элементы: In [7]: np .__ path__ Out [7]: Путь к пространству имен (['C: \\ Users \\ j267156 \\ AppData \\ Local \\ Continuu‌ m \\ anaconda2 \\ envs \\ ‌ sf35 \\ lib \\ site-pack‌ age \\ numpy']) В [8]: np .__ loader_ Out [8]: <_frozen_importlib_external._NamespaceLoader at 0x2033a3c8080>

ktj1989 14.05.2018 00:49

Эта ошибка возникает в моем приложении при использовании 1.14.3 в Linux. Если я сделаю pip install --upgrade numpy (который обновляется до 1.14.5), ошибка исчезнет.

RNHTTR 19.07.2018 22:01

У меня также была эта проблема с numpy 1.15.2, но она решена с помощью 1.15.4

kibitzforu 13.12.2018 17:47
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
18
12
61 900
5

Ответы 5

Просто возникла эта проблема после того, как conda решила обновить numpy с 1.13.3 до 1.14.3. Возврата numpy с помощью процедуры в http://blog.rtwilson.com/conda-revisions-letting-you-rollback-to-a-previous-version-of-your-environment/ было достаточно для восстановления функциональности с последующим закреплением версии в среде.

Попробуй это

В записной книжке Jupyter сначала удалите существующий numpy с помощью ! pip удалить numpy.

Затем установите его ! pip install numpy. Теперь перезапустите ядро ​​(Python Notebook). Это будет работать.

github.com/ipython/ipyparallel/issues/349 это тоже актуально.
claude 08.03.2019 22:05

Возможно, вы назвали свою программу / сценарий «numpy». У меня тоже было это, я переименовал свою программу, и тогда она работает. Это происходит потому, что когда вы называете свою программу похожей на модуль, атрибут импорта конфликтует между программами и модулями.

Спасибо, но я этого не делал.

ktj1989 29.07.2019 19:55

Вот что происходит - у statsmodels есть файл statsmodels / compat / numpy.py и аналогично для pandas pandas \ compat \ numpy_в этом_.py. Я думаю, это вызывает эти проблемы

innisfree 20.02.2020 06:29

Спасибо! Я новичок в Python, я назвал свой небольшой тест random.py, и у меня возникли проблемы с module 'numpy' has no attribute 'zeros' и тому подобным. После переименования его в test_random.py и перемещения в другую папку, кроме ~/test, все заработало. Ошеломлен.

Kjetil S. 30.09.2020 15:11

Вы пробовали это:

pip uninstall -y numpy
pip uninstall -y setuptools
pip install setuptools
pip install numpy

У меня нет ... Я использовал установку conda. В итоге я удалил и переустановил conda.

ktj1989 28.05.2020 07:20

У меня была эта ошибка сегодня, когда я запускал «обновление пивоварни» на MacOS, и обновление не удалось выполнить на matplotlib.

<TL; DR />

Я запускаю pip (v 2.x) и pip3 установлен. Оказалось, что я не установил numpy с pip3. Я побежал

pip3 install numpy

пивоварение, обновление прошло успешно.

Другие вопросы по теме