Удаленный интерпретатор PyCharm (2019.1) + ошибка импорта Matplotlib - PullRequest
2 голосов
/ 22 мая 2019

При создании новой среды conda с Python 3.6 у PyQt5 (pyqt == 5.6.0) возникли проблемы с инициализацией из PyCharm версии 2019.1.

После ssh -Y в поле, построение графиков из оболочки iPython работало нормально.

Но импорт matplotlib из PyCharm выдал следующую ошибку:

import matplotlib.pyplot as plt
Traceback (most recent call last):
  File "/share/dir/python/conda-env-py36/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 3296, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-3-a0d2faabd9e9>", line 1, in <module>
    import matplotlib.pyplot as plt
  File "/home/user/.pycharm_helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 20, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "/share/dir/python/conda-env-py36/lib/python3.6/site-packages/matplotlib/pyplot.py", line 2609, in <module>
    install_repl_displayhook()
  File "/share/dir/python/conda-env-py36/lib/python3.6/site-packages/matplotlib/pyplot.py", line 166, in install_repl_displayhook
    ip.enable_gui(ipython_gui_name)
  File "/home/user/.pycharm_helpers/pydev/_pydev_bundle/pydev_ipython_console_011.py", line 130, in enable_gui
    return real_enable_gui(gui, app)
  File "/home/user/.pycharm_helpers/pydev/pydev_ipython/inputhook.py", line 536, in enable_gui
    return gui_hook(app)
  File "/home/user/.pycharm_helpers/pydev/pydev_ipython/inputhook.py", line 174, in enable_qt
    from pydev_ipython.qt_for_kernel import QT_API, QT_API_PYQT5
  File "/home/user/.pycharm_helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 20, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "/home/user/.pycharm_helpers/pydev/pydev_ipython/qt_for_kernel.py", line 115, in <module>
    QtCore, QtGui, QtSvg, QT_API = load_qt(api_opts)
  File "/home/user/.pycharm_helpers/pydev/pydev_ipython/qt_loaders.py", line 258, in load_qt
    if not can_import(api):
  File "/home/user/.pycharm_helpers/pydev/pydev_ipython/qt_loaders.py", line 146, in can_import
    if not has_binding(api):
  File "/home/user/.pycharm_helpers/pydev/pydev_ipython/qt_loaders.py", line 114, in has_binding
    imp.find_module('QtCore', mod.__path__)
  File "/share/dir/python/conda-env-py36/lib/python3.6/imp.py", line 270, in find_module
    "not {}".format(type(path)))
RuntimeError: 'path' must be None or a list, not <class '_frozen_importlib_external._NamespacePath'>

Следуя трассировке стека и изучая соответствующие файлы, я понимаю, что это как-то связано с установкой conda или распознаванием пакетов PyCharm пакетов внутри enda conda.

Кто-нибудь еще испытывал проблемы с запуском PyQt5 с помощью Matplotlib 2.2.2 из PyCharm?

1 Ответ

0 голосов
/ 22 мая 2019

При установке pyqt я использовал conda. При запуске conda install пакет PyQt оказался связанным, а не скопированным в среду. По-видимому, ссылка не работает должным образом.

Я решил это, указав --copy. См. conda docs для деталей. Вот полная команда установки:

conda install pyqt==5.6.0 --copy

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