修復(fù)python-memcached在python3.8環(huán)境中報SyntaxWarning的問題(完美解決)
我們一直使用python-memcached庫來操作memcached,最近發(fā)現(xiàn)在python3.8的環(huán)境中,代碼會報類似這樣的警告:
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,但日志中打印這些信息總歸讓人感覺很不爽,所以得想法修復(fù)下。
查到官方的github倉庫,發(fā)現(xiàn)這個庫已經(jīng)有年頭沒有人管了,即使有人提出了修改的PR( https://github.com/linsomniac/python-memcached/issues/176 ),也沒有人來合并。
于是兩條路:
- 在項目中直接修改memcache.py文件,改掉這兩行的問題,把is改成==就可以了。
- 因為我們會發(fā)個requirements.txt,所以我自己做了個修改的版本,放到了pypi上( https://pypi.org/project/python-memcached-py38fix/ ),如果有需要的可以直接下載:
pip install python-memcached-py38fix
看來下一步必須得考慮換成pymemcache了,畢竟Django都拋棄了對python-memcached的支持了。
到此這篇關(guān)于修復(fù)python-memcached在python3.8環(huán)境中報SyntaxWarning的問題的文章就介紹到這了,更多相關(guān)python3.8報SyntaxWarning內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django Haystack 全文檢索與關(guān)鍵詞高亮的實現(xiàn)
這篇文章主要介紹了Django Haystack 全文檢索與關(guān)鍵詞高亮的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2020-02-02
使用Python3實現(xiàn)判斷函數(shù)的圈復(fù)雜度
編寫函數(shù)最重要的原則就是:別寫太復(fù)雜的函數(shù),那什么樣的函數(shù)才能算是過于復(fù)雜?一般會通過兩個標準來判斷,長度和圈復(fù)雜度,下面我們就來看看如何使用Python判斷函數(shù)的圈復(fù)雜度吧2024-04-04
零基礎(chǔ)寫python爬蟲之抓取百度貼吧并存儲到本地txt文件改進版
前面已經(jīng)發(fā)了一篇關(guān)于百度貼吧抓取的代碼,今天我們來看下代碼的改進版,參考了上篇抓取糗事百科的思路,給需要的小伙伴們參考下吧2014-11-11
Python集成開發(fā)環(huán)境Pycharm的使用及技巧
本文詳細講解了Python集成開發(fā)環(huán)境Pycharm的使用及技巧,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2022-06-06
使用numpy.eye創(chuàng)建one-hot編碼的實現(xiàn)
本文主要介紹了使用numpy.eye創(chuàng)建one-hot編碼的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2024-08-08

