網站首頁 編程語言 正文
我們一直使用python-memcached庫來操作memcached,最近發現在python3.8的環境中,代碼會報類似這樣的警告:
memcache.py:1303: SyntaxWarning: "is" with a literal. Did you mean "=="?
if key is '':
memcache.py:1304: SyntaxWarning: "is" with a literal. Did you mean "=="?
if key_extra_len is 0:
查了下python-memcached的源碼(其實也就一個文件),定位到1303和1304行,代碼如下:
if key is '':
if key_extra_len is 0:
看來這樣的使用方法在python3.8里面是不被接受的。
雖然只是warning,但日志中打印這些信息總歸讓人感覺很不爽,所以得想法修復下。
查到官方的github倉庫,發現這個庫已經有年頭沒有人管了,即使有人提出了修改的PR(?https://github.com/linsomniac/python-memcached/issues/176?),也沒有人來合并。
于是兩條路:
- 在項目中直接修改memcache.py文件,改掉這兩行的問題,把is改成==就可以了。
- 因為我們會發個requirements.txt,所以我自己做了個修改的版本,放到了pypi上(?https://pypi.org/project/python-memcached-py38fix/?),如果有需要的可以直接下載:
pip install python-memcached-py38fix
看來下一步必須得考慮換成pymemcache了,畢竟Django都拋棄了對python-memcached的支持了。
原文鏈接:https://knktc.com/2022/08/10/fix-python-memcached-3-8-syntax-warning/
相關推薦
- 2022-06-18 C語言中main函數與命令行參數詳細講解_C 語言
- 2022-06-06 visualStudioCode自動添加、補全雙引號、vsc、配置
- 2022-06-17 Android啟動頁設置及動態權限跳轉問題解決_Android
- 2023-07-03 利用ant-design下拉選擇框select的labelInValue屬性給下拉選項添加圖標
- 2022-06-14 C#獲取指定目錄下某種格式文件集并備份到指定文件夾_C#教程
- 2022-04-04 npm run ...自動打開瀏覽器
- 2022-06-12 golang的協程上下文的具體使用_Golang
- 2022-02-20 小程序獲取今天,昨天,前天,上月,上周時間全
- 最近更新
-
- 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同步修改后的遠程分支