我创建了以下简单的Flask应用程序。我尝试运行时得到document.getElementById("items").innerHTML += "<li>" + items[i] + "</li>";
。我有一个名为ImportError: No module named Utils
的文件,如果我重命名它,错误就会消失。 email.py
返回2.7。是什么导致错误?当我重命名模块时为什么会消失?
python --version
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()
答案 0 :(得分:0)
好的,看起来您的脚本名为email.py存在命名冲突。 Python中有一个名为email的包,模块为Utils
。当Python搜索此包时,它会首先在其路径中找到您的脚本,因此它会抓取它并尝试导入Utils模块,但无法找到它。只需将您的自定义脚本重命名为email1.py,Email.py或email.py以外的任何内容,您应该没问题。
答案 1 :(得分:0)
我在工作区中放置了一个socket.py
文件,并且发生了与您相同的问题。更改文件名以防止模块冲突应解决此问题。