Не удается импортировать matplotlib.pyplot в PyCharm из-за AttributeError: модуль 'PyQt5.QtGui' не имеет атрибута 'QApplication' - PullRequest
0 голосов
/ 07 мая 2018

Я хотел изменить свой компилятор python на «более новый» (в рамках одного проекта) и использовать некоторые дополнительные пакеты с conda. После установки все мои пакеты работали нормально, и я мог использовать консоль, однако matplotlib.pyplot с тех пор не удается импортировать. И выдает следующую ошибку: app = QtGui.QApplication([" "]) AttributeError: module 'PyQt5.QtGui' has no attribute 'QApplication'

Проведя некоторые исследования, я нашел это: ссылка Предлагается изменить inputhooks.py (в строке 513 и изменить GUI_QT:enable_qt4 на GUI_QT: enable_qt5 4 на 5) Поскольку это машина компании, у меня не может быть прав администратора для перезаписи вещей в PyCharm.

Можете ли вы порекомендовать лучшее решение, чтобы избежать этого?

Почему это появляется? ErrorLogScreenshot

Также я попытался установить более новую версию pyqt, но это не решило проблему.

В то же время Внутри pydev тоже не работает интерактивный shell.py. со следующим сообщением об ошибке: self.showtraceback(running_compiled_code=True) TypeError: showtraceback() got an unexpected keyword argument 'running_compiled_code' Я понимаю, что получает аргумент, который он не ожидает. Я также провел некоторые исследования по этому вопросу, и некоторые из них могли исправить это, удалив устаревший соответствующий файл .pyc (я не смог найти тот же файл в том же месте, что и исходный файл, только interactiveshell.py)

Ниже этого блога о пидеве разговор никогда не шел https://github.com/ipython/ipython/issues/10687

Есть ли способ это исправить? Я немного новичок в Python и не совсем понимаю суть этого вопроса, поэтому любая помощь приветствуется.

Спасибо, Anna

Ответы [ 2 ]

0 голосов
/ 30 июля 2018

Для тех, у кого возникла такая же проблема, я решил эту проблему, переключившись на qt и pyqt 4. Для этого выполните следующую процедуру:

conda remove qt   
conda install qt=4
conda install -c anaconda pyqt=4.11.4
conda install matplotlib --no-update-dependencies

Если вы не используете виртуальную среду, вам также может потребоваться удалить навигатор anaconda перед установкой новых пакетов:

conda uninstall anaconda-navigator

В начале вашей программы переключите бэкэнд matplotlib:

import matplotlib.pyplot as plt
plt.switch_backend('Qt4Agg')

Вдохновленный этим решением .

0 голосов
/ 08 мая 2018

После обновления PyCharm все проблемы, кажется, были решены.(Я использовал версию 2017.1). Ошибка show traceback произошла из-за pydev, и новый выпуск исправляет ее.

Как и проблема с графическим интерфейсом.

Я смог решить ее, найдя файл, и оба сообщения исчезли, и похоже, что matplotlib снова работает нормально.

В этой папке (я назвал свою среду py35):

C: \ Users \ myusername \ AppData \ Local \ Continuum \ anaconda3 \ envs \ py35 \ Lib \ site-packages \ IPython \core__pycache __

Я нашел файл: interactiveshell.cpython-35.pyc и удалил его - (Это решает проблему только в Python 3.5)

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