Ошибка библиотеки Python 3.6 matplot: ошибка атрибута: модуль ‘matplotlib’ не имеет атрибута ‘projections’

#python #python-3.x #matplotlib

#python #python-3.x #matplotlib

Вопрос:

Получение этой ошибки при попытке запустить эту строку:

 import matplotlib.pyplot as plt

AttributeError: module 'matplotlib' has no attribute 'projections'
  

У меня есть:

  • Пробовал в новой среде
  • пытался установить в новую среду с помощью pip
  • пытался установить в другую новую среду с помощью conda
  • все вышеперечисленное с новой установкой anaconda в Windows 10

С matplotlib версии 3.3.1 и Python версии 3.6.11

Совет или мысли по решению были бы очень признательны.

Полное сообщение об ошибке ниже:

 ---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-1-939c03ac8ea0> in <module>
      3 
      4 # import matplotlib
----> 5 import matplotlib.pyplot as plt

~.condaenvsSB36libsite-packagesmatplotlibpyplot.py in <module>
     41 from matplotlib import docstring
     42 from matplotlib.backend_bases import FigureCanvasBase, MouseButton
---> 43 from matplotlib.figure import Figure, figaspect
     44 from matplotlib.gridspec import GridSpec
     45 from matplotlib import rcParams, rcParamsDefault, get_backend, rcParamsOrig

~.condaenvsSB36libsite-packagesmatplotlibfigure.py in <module>
     16 
     17 import matplotlib as mpl
---> 18 from matplotlib import docstring, projections
     19 from matplotlib import __version__ as _mpl_version
     20 

~.condaenvsSB36libsite-packagesmatplotlibprojections__init__.py in <module>
      2 from .geo import AitoffAxes, HammerAxes, LambertAxes, MollweideAxes
      3 from .polar import PolarAxes
----> 4 from mpl_toolkits.mplot3d import Axes3D
      5 
      6 

~AppDataRoamingPythonPython36site-packagesmpl_toolkitsmplot3d__init__.py in <module>
----> 1 from .axes3d import Axes3D

~AppDataRoamingPythonPython36site-packagesmpl_toolkitsmplot3daxes3d.py in <module>
     22 import matplotlib.colors as mcolors
     23 import matplotlib.docstring as docstring
---> 24 import matplotlib.projections as proj
     25 import matplotlib.scale as mscale
     26 import matplotlib.transforms as mtransforms

AttributeError: module 'matplotlib' has no attribute 'projections'
  

Комментарии:

1. Мне кажется, что он загружает компоненты matplotlib из нескольких местоположений, что, возможно, означает, что у вас несоответствующие версии.

2. Спасибо за ответ. Как мне выровнять мои версии? Это то, что я читал в другом месте. Советом была чистая установка. Именно с этого я начал с Matplotlib и выполнил полную повторную установку anaconda. И оставил MPL в качестве последней установки пакета перед его тестированием после чистой установки Anaconda (где я вручную удалил папки pkg и env в соответствии с инструкциями по переустановке) и в новой среде. И только что удален с помощью conda matplotlib и установил новую версию. (также запустил удаление pip, но ничего не нашел) Все та же ошибка.

3. Вы проверили свой PATH, чтобы узнать, все ли он ищет модули в других путях, содержащих пакеты python?

4. Спасибо за доработку. Похоже, что использование среды с python 3.7 исправило это. Ну, я не исправил среду с помощью python 3.6, но это позволило мне создать рабочую среду. И да, я проверил, какие пути Windows были настроены. Все было так, как и должно быть (о чем свидетельствует тот факт, что python 3.7 env работал).

Ответ №1:

Вероятно, у вас несоответствующие двоичные файлы.

Попробуйте:

 conda uninstall matplotlib
  

Затем:

 conda install matplotlib
  

Вы также можете попробовать

 conda update --all
  

Комментарии:

1. Я решил проблему, создав новую среду с Python 3.7. Я запустил conda remove / pip для удаления matplotlib, обновления conda —all и установки matplotlib. Похоже, именно так другие с аналогичными проблемами заставили его работать, но для меня это не сработало.

Ответ №2:

Работа, которая привела к созданию функционирующей среды, заключалась в создании среды с Python 3.7.