簡體   English   中英

PyCharm 導入 matplotlib.pyplot 顯示錯誤

[英]PyCharm import matplotlib.pyplot show error

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()

回溯(最近一次調用最后一次):

  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

進程以退出代碼 1 結束

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

蟒蛇:2.7.16

PyCharm 專業版:2019.2

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

順便說一句,在控制台模式下運行的代碼是有效的

簡單的答案:禁用“在科學窗口中顯示繪圖”(設置 -> 工具 -> Python Scientific)或降級 PyCharm 或將您的項目移動到 python3
記得在你的代碼中添加plt.show()

稍微復雜一點。 您需要編寫自己的導入鈎子來找到urllib.parseurllib.request (要求display_.py文件中的下一行。更多您可以在這里閱讀https://xion.org.pl/2012/05/06/hacking -蟒蛇進口/

(我對python 2導入系統不夠熟悉,無法編寫它)

對於 python 2 使用

from urlparse import urlparse

如果您需要編寫與 Python2 和 Python3 兼容的代碼,您可以使用以下導入

try:
    from urllib.parse import urlparse
except ImportError:
     from urlparse import urlparse

在您的 PyCharm 項目中:

  • 按 Ctrl+Alt+s 打開設置
  • 在左列中,選擇 Project Interpreter
  • 在右上角有一個在您的系統上找到的 python 二進制文件列表,選擇正確的
  • 最終單擊 + 按鈕安裝其他 python 模塊,在您的情況下,缺少解析模塊,因此安裝該模塊

正如@Grzegorz Bokota 所提到的,問題來自 PyCharm 的“科學視圖模式”。 這種模式允許可視化圖形,因此調用 matplotlib,如果您使用的是 Python 2,它可能是一個不兼容的版本。 這個錯誤已經在這里發現,看來我們只需要等待下一個版本來解決它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM