日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

python3.7環(huán)境下sanic-ext未生效踩坑解析_python

作者:lvzi ? 更新時(shí)間: 2023-03-26 編程語(yǔ)言

坑:

在python3.7環(huán)境下,通過(guò)官方文檔安裝sanic即擴(kuò)展插件,但是 sanic-ext包不起作用,具體的表現(xiàn)為:無(wú)法打開路由/docs。

這里的坑在于,服務(wù)啟動(dòng)時(shí),sanic不會(huì)報(bào)錯(cuò)。因此很難定位出問(wèn)題在sanic-ext。

原因:

尋找sanic-ext不起作用的原因:

首先在虛擬環(huán)境中執(zhí)行import sanic_ext

結(jié)果報(bào)錯(cuò),提示缺少importlib.metadata

查詢當(dāng)前環(huán)境下importlib.metadata的版本,發(fā)現(xiàn)在python3.7下importlib.metadata=4.2

由于本人曾在python3.8環(huán)境可以正常使用sanic-ext,所以進(jìn)入python3.8環(huán)境下檢查發(fā)現(xiàn)importlib.metadata=3.10.0

結(jié)論:

python3.7下的importlib.metadata版本與sanic-ext不匹配,導(dǎo)致其無(wú)法起作用

回過(guò)頭看:

雖然sanic-ext不會(huì)報(bào)錯(cuò),但其實(shí)sanic-ext是否生效是有跡可循的,在sanic啟動(dòng)時(shí),會(huì)有一串打印信息,可以通過(guò)打印信息中的packages中是否包含sanic-ext判斷sanic-ext是否正確生效。

  ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────┐
  │                                              Sanic v22.9.0                                              │
  │                                    Goin' Fast @ http://0.0.0.0:12345                                    │
  ├───────────────────────┬─────────────────────────────────────────────────────────────────────────────────┤
  │                       │        mode: debug, single worker                                               │
  │     ▄███ █████ ██     │      server: sanic, HTTP/1.1                                                    │
  │    ██                 │      python: 3.8.8                                                              │
  │     ?███████ ███▄     │    platform: Linux-4.15.0-189-generic-x86_64-with-glibc2.10                     │
  │                 ██    │ auto-reload: enabled, /xx/xx/xx │
  │    ████ ████████?     │    packages: sanic-routing==22.8.0, sanic-ext==22.9.0                           │
  │                       │                                                                                 │
  │ Build Fast. Run Fast. │                                                                                 │

后記

原文鏈接:https://juejin.cn/post/7193603855504900152

欄目分類
最近更新