您好,登錄后才能下訂單哦!
本篇內容主要講解“python-memcached在python3.8環境中報SyntaxWarning如何修復”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“python-memcached在python3.8環境中報SyntaxWarning如何修復”吧!
我們一直使用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也沒有人來合并。
于是兩條路:
在項目中直接修改memcache.py文件,改掉這兩行的問題,把is改成==就可以了。
因為我們會發個requirements.txt,所以我自己做了個修改的版本,放到了pypi上,如果有需要的可以直接下載:
pip install python-memcached-py38fix
看來下一步必須得考慮換成pymemcache了,畢竟Django都拋棄了對python-memcached的支持了。
到此,相信大家對“python-memcached在python3.8環境中報SyntaxWarning如何修復”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。