溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python-memcached在python3.8環(huán)境中報(bào)SyntaxWarning如何修復(fù)

發(fā)布時(shí)間:2022-08-11 11:27:59 來源:億速云 閱讀:163 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“python-memcached在python3.8環(huán)境中報(bào)SyntaxWarning如何修復(fù)”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“python-memcached在python3.8環(huán)境中報(bào)SyntaxWarning如何修復(fù)”吧!

我們一直使用python-memcached庫來操作memcached,最近發(fā)現(xiàn)在python3.8的環(huán)境中,代碼會(huì)報(bào)類似這樣的警告:

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的源碼(其實(shí)也就一個(gè)文件),定位到1303和1304行,代碼如下:

if key is '':
    if key_extra_len is 0:

看來這樣的使用方法在python3.8里面是不被接受的。

雖然只是warning,但日志中打印這些信息總歸讓人感覺很不爽,所以得想法修復(fù)下。

查到官方的github倉庫,發(fā)現(xiàn)這個(gè)庫已經(jīng)有年頭沒有人管了,即使有人提出了修改的PR也沒有人來合并。

于是兩條路:

  • 在項(xiàng)目中直接修改memcache.py文件,改掉這兩行的問題,把is改成==就可以了。

  • 因?yàn)槲覀儠?huì)發(fā)個(gè)requirements.txt,所以我自己做了個(gè)修改的版本,放到了pypi上,如果有需要的可以直接下載:

pip install python-memcached-py38fix

看來下一步必須得考慮換成pymemcache了,畢竟Django都拋棄了對python-memcached的支持了。

到此,相信大家對“python-memcached在python3.8環(huán)境中報(bào)SyntaxWarning如何修復(fù)”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI