Пытаясь отладить мой код, я импортирую библиотеку pdb
import sys
from subprocess import check_call
import pdb
/*functions*/
if __name__== "__main__":
/* Code */
Я получаю эту ошибку:
File "reg.py", line 11, in <module>
import pdb
File "/usr/lib/python2.7/pdb.py", line 9, in <module>
import cmd
File "/usr/lib/python2.7/cmd.py", line 53, in <module>
IDENTCHARS = string.ascii_letters + string.digits + '_'
AttributeError: 'module' object has no attribute 'ascii_letters'
Если я создаю новый файл python, и я пытаюсь запустить pdb, возникает одна и та же ошибка.
Один из ваших файлов называется string.py
. Переименуйте его и обязательно удалите любые *.pyc
файлы из каталога скриптов.
По этой причине очень плохая практика использовать имена встроенных модулей для ваших собственных файлов.
$ echo "import pdb" > string.py
$ python string.py
File "string.py", line 1, in <module>
import pdb
File "D:\Python37\lib\pdb.py", line 73, in <module>
import cmd
File "D:\Python37\lib\cmd.py", line 50, in <module>
IDENTCHARS = string.ascii_letters + string.digits + '_'
AttributeError: module 'string' has no attribute 'ascii_letters'