【问题标题】:PyCharm import matplotlib.pyplot show errorPyCharm 导入 matplotlib.pyplot 显示错误
【发布时间】:2019-07-30 08:05:33
【问题描述】:
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()

Traceback(最近一次调用最后一次):

  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 结束

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

Python:2.7.16

PyCharm 专业版:2019.2

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

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

【问题讨论】:

  • from urlparse import urlparse 在哪里?
  • 您的机器上可能有多个 python 版本,而 pycharm 使用不同的版本。有python2和python3,两者的urllib模块不同。 pycharm 允许您在设置中选择项目的 python 版本,可能更改那里的值将解决您的问题,因为 pycharm 现在默认使用 python3
  • 我已经添加了一个答案,希望对你有帮助
  • @576i 但我尝试编辑代码并编写“import sys”、“print sys.version”,它显示“2.7.16”
  • @GOVINDDIXIT 那里的所有代码,它是一个简单的代码,我没有导入任何 urlparse 库。

标签: python matplotlib pycharm


【解决方案1】:

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

稍微复杂一点。您需要编写自己的导入钩子才能找到urllib.parseurllib.request(请求display_.py 文件中的下一行。更多内容可以在这里阅读https://xion.org.pl/2012/05/06/hacking-python-imports/

(我对python 2导入系统不够熟悉,写不出来)

【讨论】:

    【解决方案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 模块,在您的情况下,缺少解析模块,因此安装那个

    【讨论】:

    • 你试过在你的 pycharm 中改变 python 版本吗?
    • pycharm 设置项目解释器现在选择 Python 2.7,我尝试打印 sys.version 它显示 2.7.16
    • 在我看来,你的 Pycharm 正在寻找一个与特定 python 版本不兼容的模块。
    • 更新看看
    • 我已经解决了这个问题,只需取消选中“在科学窗口中显示绘图”复选框(设置 -> 工具 -> Python Scientific)然后就可以正常工作了,谢谢您的回复
    【解决方案3】:

    正如@Grzegorz Bokota 所提到的,问题来自 PyCharm 的“科学视图模式”。此模式允许可视化图形,因此调用 matplotlib,如果您使用的是 Python 2,则可能是它的不兼容版本。此错误已被确定为 here ,看来我们只需要等待下一个版本即可获得它解决了。​​

    【讨论】:

      猜你喜欢
      • 2014-12-05
      • 1970-01-01
      • 1970-01-01
      • 2013-11-22
      • 1970-01-01
      • 2012-10-28
      • 2013-11-12
      • 2016-10-28
      • 2016-03-05
      相关资源
      最近更新 更多