python Werkzeug AttributeError:“module”对象没有属性“InteractiveInterpreter”[重复]

ruarlubt  于 2023-06-20  发布在  Python
关注(0)|答案(2)|浏览(216)

此问题已在此处有答案

Importing a library from (or near) a script with the same name raises "AttributeError: module has no attribute" or an ImportError or NameError(3个答案)
4个月前关闭。
使用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

到目前为止,我试图解决这个问题的事情,没有帮助(不幸的是)

  • 广泛的谷歌搜索/SO搜索
  • 我的代码大大简化了
  • 删除已创建的virtualenv和所有库并通过easy_install重新安装

奇怪的是,昨晚这段代码运行正常。今天早上,没有改变任何东西(我知道)代码无法正常运行。
非常感谢您的帮助!

axr492tv

axr492tv1#

问题是您将模块命名为code.pycode是werkzeug使用的内置Python模块(https://docs.python.org/3/library/code.html)。
要解决此问题,请将code.py重命名为其他名称,并确保删除code.pyc文件。

bgtovc5b

bgtovc5b2#

解决你的问题是你的文件名;不要将你的python文件名命名为code.pymain.pyFlask.pyos.pysystem.py。相反,您可以使用code1.py或其他东西。

相关问题