【发布时间】:2015-07-19 15:04:19
【问题描述】:
我创建了以下简单的 Flask 应用程序。当我尝试运行它时,我得到ImportError: No module named Utils。我有一个名为email.py 的文件,如果我重命名它,错误就会消失。 python --version 返回 2.7。是什么导致了错误?为什么我重命名模块时它会消失?
from flask import Flask
from flask import request
app=Flask(__name__)
@app.route('/',methods=['GET','POST'])
def home():
return '<h1>home</h1>'
@app.route('/signin',methods=['GET'])
def signin_form():
return '''<form action="/signin" method="post">
<p><input name="username"></p>
<p><input name=password"> type="password"></p>
<p><button type="submit">Sign In</button></p>
</form>'''
@app.route('/signin',methods=['POST'])
def signin():
if request.form['username']=='admin' and request.form['password']=='password':
return '<h3>hello ,admin!<h3>'
return '<h3>bad username or password</h3>'
if __name__=='__main__':
app.run()
Traceback (most recent call last):
File "D:/learn/suojin.py", line 5, in <module>
from flask import Flask
File "C:\Python27\lib\site-packages\flask-0.10.1-py2.7.egg\flask\__init__.py", line 17, in <module>
from werkzeug.exceptions import abort
File "C:\Python27\lib\site-packages\werkzeug\__init__.py", line 154, in <module>
__import__('werkzeug.exceptions')
File "C:\Python27\lib\site-packages\werkzeug\exceptions.py", line 71, in <module>
from werkzeug.wrappers import Response
File "C:\Python27\lib\site-packages\werkzeug\wrappers.py", line 26, in <module>
from werkzeug.http import HTTP_STATUS_CODES, \
File "C:\Python27\lib\site-packages\werkzeug\http.py", line 24, in <module>
from email.Utils import parsedate_tz
ImportError: No module named Utils
【问题讨论】:
-
这可能是因为flask模块中有一个
email类,用于构建应用程序。如果你的应用脚本同名,那么 Python 会很混乱。我刚刚离开你的回溯的最后一行,from email.Utils import parsedate_t -
是的,当我重命名它时,它消失了
-
我的意思是说,电子邮件包和 Utils 模块,而不是电子邮件类,但我希望重命名脚本后一切顺利。
标签: python python-2.7 flask