PyCharm导入matplotlib.pyplot显示错误

Tim*_*ong 1 python matplotlib pycharm

import numpy as np
import matplotlib.pyplot as plt

def main():
    x = np.arange(0, 5, 0.1)
    y = np.sin(x)
    plt.plot(x, y)

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

追溯(最近一次通话):

  File 
"/Users/tim/workspace/Python/MachineLearn/test.py", line 2, in <module>
    import matplotlib.pyplot as plt
  File "/usr/local/lib/python2.7/site-packages/matplotlib/pyplot.py", line 115, in <module>
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
  File "/usr/local/lib/python2.7/site-packages/matplotlib/backends/__init__.py", line 63, in pylab_setup
    [backend_name], 0)
  File "/Applications/PyCharm.app/Contents/helpers/pycharm_matplotlib_backend/backend_interagg.py", line 11, in <module>
    from datalore.display import display
  File "/Applications/PyCharm.app/Contents/helpers/pycharm_display/datalore/display/__init__.py", line 1, in <module>
    from .display_ import *
  File "/Applications/PyCharm.app/Contents/helpers/pycharm_display/datalore/display/display_.py", line 5, in <module>
    from urllib.parse import urlencode
ImportError: No module named parse
Run Code Online (Sandbox Code Playgroud)

流程以退出代码1完成

=================

的Python:2.7.16

PyCharm专业版:2019.2

=================

顺便说一句,在控制台模式下运行的代码是可行的

Grz*_*ota 8

简单的答案:禁用“在科学窗口中显示图”(设置->工具-> Python科学)或降级PyCharm或将项目移至python3
记住要添加plt.show()代码。

稍微复杂一点。您需要编写自己的导入钩子才能找到urllib.parseurllib.requestdisplay_.py要求文件中的下一行。更多信息,请阅读此处https://xion.org.pl/2012/05/06/hacking-python-imports/

(我对python 2导入系统还不够熟悉,无法编写它)