首页 > 解决方案 > 在 python 中导入 matplotlib.pyplot 时出错

问题描述

昨天我试图编写一个程序,我必须在其中导入matplotlib. 因此,当我在导入程序后尝试运行程序时,它开始运行其他程序而不是我编写的程序,并且在运行其他程序后显示错误:

Traceback (most recent call last):
  File "E:\Kartikay\kartik py\excercise.py", line 2, in <module>
    import matplotlib.pyplot as plt
  File "C:\Users\Garg's\AppData\Local\Programs\Python\Python37-32\lib\site-packa
ges\matplotlib\__init__.py", line 127, in <module>
    import logging
  File "C:\Users\Garg's\AppData\Local\Programs\Python\Python37-32\lib\logging\__
init__.py", line 28, in <module>
    from string import Template
ImportError: cannot import name 'Template' from 'string' (E:\Kartikay\kartik py\
string.py)

所以任何人都可以请帮助我为什么会发生这种情况以及我该如何解决它。

标签: pythonmatplotlib

解决方案


删除或重命名E:\Kartikay\kartik py\string.py,因为它与另一个模块发生冲突。

正如您在回溯中看到的那样,在导入时matplotlib,matplotlib 本身也在导入其他模块。在最后提到的File

 C:\Users\Garg's\AppData\Local\Programs\Python\Python37-32\lib\logging\__init__.py

(这是内置logging模块的入口点),有一个from string import Template. 现在,您的导入错误说:

cannot import name 'Template' from 'string' (E:\Kartikay\kartik py\

字符串.py)

这意味着:from string import Template某些内置模块中的行正在尝试 import string,但是由于您已经创建了一个具有该名称的文件,因此它正在尝试从那里读取(导入时始终首先搜索当前目录中的文件)。其他进口也是如此。因此,请注意如何命名文件。如果您注意到导入时正在执行您的文件之一matplotlib,那么您应该重命名该文件


推荐阅读