Почему я получаю список ошибок при попытке загрузить matplotlib в PyCharm со средой Anaconda? - PullRequest
0 голосов
/ 17 октября 2018

Я установил PyCharm с Anaconda.Я установил NumPy Fine, используя настройки PyCharm, добавив пакет через вкладку Project Interpreter.Однако сейчас я пытаюсь установить matplotlib и получаю список ошибок.

Просто включив строку

import matplotlib.pyplot as plt

Я получаю ошибки:

AttributeError: module 'matplotlib.pyplot' has no attribute 'switch_backend'
Matplotlib support failed
Traceback (most recent call last):
  File "C:\Program Files\JetBrains\PyCharm 2018.2.4\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 23, in do_import
    succeeded = activate_func()
  File "C:\Program Files\JetBrains\PyCharm 2018.2.4\helpers\pydev\_pydev_bundle\pydev_console_utils.py", line 199, in <lambda>
    "matplotlib": lambda: activate_matplotlib(self.enableGui),
  File "C:\Program Files\JetBrains\PyCharm 2018.2.4\helpers\pydev\pydev_ipython\matplotlibtools.py", line 96, in activate_matplotlib
    gui, backend = find_gui_and_backend()
  File "C:\Program Files\JetBrains\PyCharm 2018.2.4\helpers\pydev\pydev_ipython\matplotlibtools.py", line 47, in find_gui_and_backend
    backend = matplotlib.rcParams['backend']
  File "C:\Users\calcl\Anaconda3\envs\PXP\lib\site-packages\matplotlib\__init__.py", line 892, in __getitem__
    plt.switch_backend(rcsetup._auto_backend_sentinel)

Что может быть причиной этой проблемы и как мне ее решить?

Я использую Python 3.6 с 3.0.0 Matplotlib и PyCharm 2018.2.4

Ответы [ 3 ]

0 голосов
/ 23 октября 2018

Я столкнулся с той же ошибкой, используя Python 3.6 с 3.0.0 Matplotlib и PyCharm 2018.2.4.Ошибка, очевидно, на стороне Pycharm, о чем свидетельствует трассировка и тот факт, что импорт matplotlib через приглашение anaconda или IDE spyder не приводит к этой ошибке.

Утилита 'switch backend', кажется, является новой функцией в соответствии с примечаниями к выпуску matplotlib https://github.com/matplotlib/matplotlib/releases. Как указано в ответе @ Psychotechnopath, это может быть некоторая проблема с путем, так чтоPycharm не может найти внутренний модуль коммутатора, когда он вызывается скриптами Pycharm в вашей трассировке.

Однако я не думаю, что ручное добавление чего-либо к пути является желательным и надежным решением.Вместо этого я понизил версию matplotlib до версии 2.2.3 с помощью установщика conda в приглашении Anaconda:

conda install matplotlib=2.2.3

После этого понижения я смог снова без проблем импортировать matplotlib в Pycharm.

0 голосов
/ 24 октября 2018

Как писал @BigFish, это ошибка в PyCharm, вы можете увидеть отчет об ошибке здесь .

Это исправлено в PyCharm 2018.3, поэтому самое простое решение - этообновить PyCharm .Альтернативные обходные пути - понижение версии matplotlib или снятие отметки «запуск с консоли Python» в конфигурации запуска:

run with console

Это позволит вам запустить / отладить, новы все равно получите эти ошибки, если будете использовать интерактивную консоль.

В качестве примечания, PyCharm имеет историю отставания от изменений API Matplotlib, так что это должно быть ваше первое предположение следующеевремя ...

0 голосов
/ 17 октября 2018

Возможно, вы не добавляли путь при установке Anaconda или не запускаете PyCharm из активированной среды conda.Запуск Pycharm без активированной среды не поддерживается и приводит к проблемам при попытке установить пакеты.Вы можете попробовать два решения:

  • Переустановите Anaconda и отметьте опцию «Добавить в путь».Убедитесь, что вы знаете, что это значит, например, взглянув на этот пост: Почему (или почему нет) добавить Anaconda в путь? , потому что если у вас есть несколько установок Python по пути, это может вызвать проблемы (вот почему Anacondaпредупреждает вас сделать это при установке).Подводя итог, добавим Anaconda в path, чтобы программы, такие как PyCharm, могли найти, где все установлено, и, таким образом, уменьшить вероятность ошибок импорта.

  • Загрузите приглашение Anaconda и активируйте среду, которую вы хотите использовать, с помощью activate Environmentname.Если вы никогда не используете отдельные среды, а только базовую / корневую среду, вам не нужно ничего активировать, поскольку при загрузке приглашения Anaconda автоматически активируется базовая / корневая среда.После активации выбранной среды загрузите PyCharm из этой подсказки.

Дайте мне знать, если это решило ваши проблемы =)

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