0
我创建了以下简单的Flask应用程序。当我尝试运行它时,我得到ImportError: No module named Utils
。我有一个名为email.py
的文件,如果我重命名它,错误消失。 python --version
返回2.7。什么导致了错误?为什么我重命名模块时会消失?Flask应用程序在启动时引发“ImportError:No modules named Utils”
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
这可能是因为在构建应用程序时使用了烧瓶模块中的“email”类。如果您的应用程序脚本具有相同的名称,那么Python将会感到困惑。我只是从你的回溯的最后一行,'from email.Utils import parsedate_t' –
是的,当我重命名它时,它消失 – gpguo
我的意思是说,电子邮件包和Utils模块,而不是电子邮件类,但我希望一切都能为你改写脚本。 –