網(wǎng)站首頁(yè) 編程語(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
相關(guān)推薦
- 2023-08-15 關(guān)于axios請(qǐng)求中的GET、POST、PUT、DELETE的一些認(rèn)知
- 2022-08-11 python使用prettytable內(nèi)置庫(kù)美化輸出表格_python
- 2022-06-21 .net中常用的正則表達(dá)式_C#教程
- 2022-07-31 Python常見的幾種數(shù)據(jù)加密方式_python
- 2022-07-16 如何編譯omx-bellagio以及ffmpeg插件
- 2022-11-30 GoLang?channel底層代碼分析詳解_Golang
- 2022-11-16 一文搞懂阿里云服務(wù)器部署Redis并整合Spring?Boot_Redis
- 2022-02-26 微信小程序 - 所有頁(yè)面一次性(只需要執(zhí)行一次)全部開啟分享朋友圈功能(wx.showShareMe
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支