#python #flask #werkzeug
#python #flask #werkzeug
Вопрос:
При попытке запустить код с помощью 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 (версии различных используемых библиотек) через 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:
Проблема в том, что вы назвали свой модуль code.py
. code
это встроенный модуль Python, который использует werkzeug.
Чтобы устранить проблему, переименуйте свой code.py
во что-то другое и убедитесь, что вы удалили code.pyc
файл.
Комментарии:
1. Когда Александр Грэм Белл изобрел телефон, у него было три пропущенных вызова от @codeape
Ответ №2:
Решение вашей проблемы — это ваше имя файла; не называйте имя вашего файла python как code.py
, main.py
, Flask.py
, os.py
, system.py
. Вместо этого вы можете использовать code1.py
или что-то в этом роде.