Python Pdb дает мне tracback и не будет работать


Я установил отладчик Pdb в моем файле, как я всегда делаю, как это import pdb; pdb.set_trace(), и теперь я продолжаю получать эту обратную трассировку. Я не уверен, в чем проблема, и я не вижу ничего онлайн об этом нигде.

Traceback (most recent call last):
  File "myfile.py", line 28, in <module>
    pdb.set_trace()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pdb.py", line 1251, in set_trace
    Pdb().set_trace(sys._getframe().f_back)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pdb.py",     line 63, in __init__
    cmd.Cmd.__init__(self, completekey, stdin, stdout)
TypeError: __init__() takes at most 2 arguments (4 given)
1 2

1 ответ:

Проверьте, есть ли у вас свой cmd.py. Что предотвращает импорт стандартной библиотеки cmd модуль.

Попробуйте выполнить следующую команду:

python -c "import cmd; print(cmd.__file__)"

Он должен напечатать что-то вроде:

/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/cmd.py

Или

/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/cmd.pyc

Если есть ваша собственная версия cmd.py или cmd.pyc, переименуйте ее.