python - Flask使用 Blueprint 出現(xiàn)ImportError: cannot import name ’Blueprint’?
問(wèn)題描述
最近新學(xué) Flask,想嘗試使用藍(lán)圖模塊化應(yīng)用。但甚至在運(yùn)行簡(jiǎn)易 demo 時(shí)就出錯(cuò)。
這個(gè)簡(jiǎn)易應(yīng)用有兩個(gè)文件:app.py
from flask import Flaskapp = Flask(__name__)from calendar import calendarapp.register_blueprint(calendar, url_prefix=’/auth’)@app.route(’/’)def hello_world(): return ’Hello World!’if __name__ == ’__main__’: app.run(port=8023)
calendar.py
from flask import Blueprint calendar = Blueprint(’calendar’, __name__) @calendar.route(’/’) def test():return ’yes’
運(yùn)行時(shí)出現(xiàn)錯(cuò)誤:
Traceback (most recent call last): File '/Users/vencent/.pyenv/versions/ec-env-3.6.0/lib/python3.6/site-packages/werkzeug/http.py', line 22, in <module> from email.utils import parsedate_tz File '/Users/vencent/.pyenv/versions/3.6.0/lib/python3.6/email/utils.py', line 33, in <module> from email._parseaddr import quote File '/Users/vencent/.pyenv/versions/3.6.0/lib/python3.6/email/_parseaddr.py', line 16, in <module> import time, calendar File '/Users/vencent/PycharmProjects/untitled1/calendar.py', line 1, in <module> from flask import BlueprintImportError: cannot import name ’Blueprint’During handling of the above exception, another exception occurred:Traceback (most recent call last): File '/Users/vencent/PycharmProjects/untitled1/untitled1.py', line 1, in <module> from flask import Flask File '/Users/vencent/.pyenv/versions/ec-env-3.6.0/lib/python3.6/site-packages/flask/__init__.py', line 17, in <module> from werkzeug.exceptions import abort File '/Users/vencent/.pyenv/versions/ec-env-3.6.0/lib/python3.6/site-packages/werkzeug/__init__.py', line 151, in <module> __import__(’werkzeug.exceptions’) File '/Users/vencent/.pyenv/versions/ec-env-3.6.0/lib/python3.6/site-packages/werkzeug/exceptions.py', line 71, in <module> from werkzeug.wrappers import Response File '/Users/vencent/.pyenv/versions/ec-env-3.6.0/lib/python3.6/site-packages/werkzeug/wrappers.py', line 26, in <module> from werkzeug.http import HTTP_STATUS_CODES, File '/Users/vencent/.pyenv/versions/ec-env-3.6.0/lib/python3.6/site-packages/werkzeug/http.py', line 24, in <module> from email.Utils import parsedate_tzModuleNotFoundError: No module named ’email.Utils’
之前嘗試把已有的項(xiàng)目用 Blueprint 模塊化也是這樣的提示,當(dāng)時(shí)以為是跟其他代碼有沖突。今天試了一下發(fā)現(xiàn)這個(gè) demo 都運(yùn)行不了...
問(wèn)題解答
回答1:werkzeug 的版本不兼容 python 3.6? 更新一下 werkzeug 試試。
相關(guān)文章:
1. 運(yùn)行python程序時(shí)出現(xiàn)“應(yīng)用程序發(fā)生異常”的內(nèi)存錯(cuò)誤?2. 小白學(xué)python的問(wèn)題 關(guān)于%d和%s的區(qū)別3. macos - 無(wú)法source activate python274. javascript - npm run build后調(diào)用api返回index.html5. github - 求助大神啊,win10 git clone error,折騰了幾天都不行,以前原本好好的,突然就這樣了6. javascript - node得到req不能得到boolean7. css - 關(guān)于background-position百分比的問(wèn)題?8. html - vue里面:src在IE(9-11)下不顯示圖片9. css - angular前端如何讓ng-repeat的內(nèi)容并排一行,跑起來(lái)呢?10. android - 如何實(shí)現(xiàn)QQ pad 點(diǎn)擊右側(cè)輸入框,只頂右側(cè)的布局,左側(cè)布局不動(dòng)

網(wǎng)公網(wǎng)安備