Использование отладчика python на python3 throws NameError: имя 'raw_input' не определено - PullRequest
2 голосов
/ 01 июля 2019

Изменилось ли это?Я просто использую его как import pdb; pdb.set_trace(), но в строке используется pdb, которую он выдает сейчас:

NameError: name 'raw_input' is not defined

Для тех, кто запрашивает полный возврат:

My app traceback and then:
    if not serializer.is_valid():
  vi +48  /usr/lib/python3.5/bdb.py  # trace_dispatch
    return self.dispatch_line(frame)
  vi +66  /usr/lib/python3.5/bdb.py  # dispatch_line
    self.user_line(frame)
  vi +259 /usr/lib/python3.5/pdb.py  # user_line
    self.interaction(frame, None)
  vi +346 /usr/lib/python3.5/pdb.py  # interaction
    self._cmdloop()
  vi +319 /usr/lib/python3.5/pdb.py  # _cmdloop
    self.cmdloop()
  vi +32  /home/user/.virtualenvs/myapp/lib/python3.5/site-packages/noseprogressive/wrapping.py  # cmdloop
    orig_raw_input = raw_input
NameError: name 'raw_input' is not defined

Выглядит оченьpython3.5 pdb для меня, ничего о 2.7 pdb

Ответы [ 2 ]

3 голосов
/ 01 июля 2019

Вот проблема.

Вы используете noseprogressive библиотеку с 1.5.1 версией, которая слишком старая около 6 лет назад ( 26 марта 2013 , которая разработана для Python 2.7 наверное).

https://github.com/erikrose/nose-progressive/blob/1.5.1/noseprogressive/wrapping.py#L32

Они не обработали исключение, когда присваивают raw_input переменной orig_raw_input, поэтому вы получаете NameError при использовании raw_input


Но в последней версии 1.5.2 они обрабатывали это правильно, используя try и catch.

https://github.com/erikrose/nose-progressive/blob/1.5.2/noseprogressive/wrapping.py#L33

Попробуйте обновить библиотеку noseprogressive до последней версии 1.5.2, и все должно быть в порядке.

Надеюсь, это поможет.

0 голосов
/ 01 июля 2019

Для Python 3.x используйте input (). Для Python 2.x используйте raw_input (). Не забывайте, что вы можете добавить строку приглашения в ваш вызов input (), чтобы создать на один оператор меньше. ввод («Угадай, что число!») вот документация https://docs.python.org/3/whatsnew/3.0.html

...