Ошибка при импорте matplotlib.pyplot в python - PullRequest
0 голосов
/ 17 апреля 2020

Вчера я пытался написать программу, в которую мне пришлось импортировать 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)

Так может кто-нибудь, пожалуйста, помогите мне почему это происходит и как я могу это исправить.

1 Ответ

0 голосов
/ 17 апреля 2020

Удалите или переименуйте 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\

string.py)

Что означает: строка from string import Template в каком-либо встроенном модуле пытается импортировать string, но поскольку вы создали файл с таким именем, он пытается оттуда прочитать (при импорте файлы в вашем текущем каталоге всегда ищутся первыми). То же самое касается другого импорта. Так что позаботьтесь, как вы называете свои файлы. Если вы заметили, что один из ваших файлов выполняется при импорте matplotlib, вам следует переименовать этот файл

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...