網站首頁 編程語言 正文
坑:
在python3.7環境下,通過官方文檔安裝sanic即擴展插件,但是 sanic-ext
包不起作用,具體的表現為:無法打開路由/docs
。
這里的坑在于,服務啟動時,sanic不會報錯。因此很難定位出問題在sanic-ext。
原因:
尋找sanic-ext不起作用的原因:
首先在虛擬環境中執行import sanic_ext
結果報錯,提示缺少importlib.metadata
查詢當前環境下importlib.metadata
的版本,發現在python3.7下importlib.metadata=4.2
由于本人曾在python3.8環境可以正常使用sanic-ext
,所以進入python3.8環境下檢查發現importlib.metadata=3.10.0
結論:
python3.7下的importlib.metadata
版本與sanic-ext不匹配,導致其無法起作用
回過頭看:
雖然sanic-ext
不會報錯,但其實sanic-ext
是否生效是有跡可循的,在sanic啟動時,會有一串打印信息,可以通過打印信息中的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
相關推薦
- 2022-07-16 from server (NotFound): pods “XXX“ not found
- 2022-09-14 python?特殊屬性及方法詳細解析_python
- 2022-06-28 python神經網絡學習利用PyTorch進行回歸運算_python
- 2023-07-28 elementui 通過事件觸發動畫
- 2022-01-18 獲取當前的日期 格式為YYYY-MM-dd 和時間戳轉時間
- 2022-12-09 在DOS界面如何運行python的py文件_python
- 2022-02-19 DevTools 無法加載 SourceMap 錯誤:狀態代碼 404,net::ERR_HTTP_
- 2023-02-10 C++?stack與queue使用方法詳細講解_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支