Werkzeug AttributeError: у объекта 'module' нет атрибута 'InteractiveInterpreter' - PullRequest
6 голосов
/ 24 октября 2011

Использование Flask (0.8) и Werkzeug (0.8.1) при попытке запустить код с app.run(debug=True) Я получаю описанную ниже ошибку. Нет ошибок при использовании app.run()

Ошибка

Traceback (most recent call last):
File "code2.py", line 9, in <module>
    app.run(debug=True)
File "/<snip>/env/lib/python2.7/site-packages/Flask-0.8-py2.7.egg/flask/app.py", line 703, in run
    run_simple(host, port, self, **options)
File "/<snip>/env/lib/python2.7/site-packages/Werkzeug-0.8.1-py2.7.egg/werkzeug/serving.py", line 587, in run_simple
    from werkzeug.debug import DebuggedApplication
File "/<snip>/env/lib/python2.7/site-packages/Werkzeug-0.8.1-py2.7.egg/werkzeug/debug/__init__.py", line 14, in <module>
    from werkzeug.debug.tbtools import get_current_traceback, render_console_html
File "/<snip>/env/lib/python2.7/site-packages/Werkzeug-0.8.1-py2.7.egg/werkzeug/debug/tbtools.py", line 19, in <module>
    from werkzeug.debug.console import Console
File "/<snip>/env/lib/python2.7/site-packages/Werkzeug-0.8.1-py2.7.egg/werkzeug/debug/console.py", line 144, in <module>
    class _InteractiveConsole(code.InteractiveInterpreter):
AttributeError: 'module' object has no attribute 'InteractiveInterpreter'

Код (code.py)

from flask import Flask
app = Flask(__name__)

@app.route('/news/')
def news():
    pass

if __name__ == '__main__':
    app.run(debug=True)

Действия по воссозданию ошибки

$ cd <project directory>
$ . env/bin/activate # Activates virtuanlenv environment (see below for packages)
$ python code.py

Содержимое моего env / lib / python2.7 / site-packages (используются версии различных библиотек) через virtualenv

Flask-0.8-py2.7.egg
Jinja2-2.6-py2.7.egg
pip-1.0.2-py2.7.egg
setuptools-0.6c11-py2.7.egg
Werkzeug-0.8.1-py2.7.egg

Вещи, которые я пытался решить до сих пор, которые не помогли (к сожалению)

  • Обширный поиск в Google / SO поиск
  • Сильное упрощение моего кода
  • Удаление созданных virtualenv и всех библиотек и переустановка с помощью easy_install

Странно то, что прошлой ночью этот код работал нормально. Сегодня утром, ничего не меняя (о чем я знаю), код не запустился должным образом.

Большое спасибо за вашу помощь!

1 Ответ

22 голосов
/ 24 октября 2011

Проблема в том, что вы назвали свой модуль code.py. code - это встроенный модуль Python, который использует werkzeug.

Чтобы устранить проблему, переименуйте ваш code.py во что-то другое и убедитесь, что вы удалили файл code.pyc.

...