本篇内容主要讲解“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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。