python - 在 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)
所以任何人都可以请帮助我为什么会发生这种情况以及我该如何解决它。
解决方案
删除或重命名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
,那么您应该重命名该文件
推荐阅读
- php - 为什么 JSON 文件在一段时间后变空?
- scala - Spark:spark.files 与文件
- java - “将 STDOUT 复制到文件而不停止它在屏幕上显示”中的示例不起作用
- arrays - 如何判断追加是否创建了新的底层数组
- c# - 协助 C# LDAP 查询
- javascript - 每当我向下滚动并点击汉堡包图标时,固定定位的标题就会转到最顶部
- google-maps-markers - 使用 MapContainer.addMarker(Component, Coord) 添加标记仅在按下屏幕时有效
- python - 在 Textacy 中计算单个单词的 TD-IDF
- sql-server - 如何根据定义的规则生成不包括节假日的工作日日期列表
- ios - 在 MTLComputePipelineState 上,什么决定了 maxTotalThreadsPerThreadgroup?