修复python-memcached在python3.8环境中报SyntaxWarning的问题(完美解决)

08-11 133阅读 0评论

我们一直使用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的支持了。

到此这篇关于修复python-memcached在python3.8环境中报SyntaxWarning的问题的文章就介绍到这了,更多相关python3.8报SyntaxWarning内容请搜索云初冀北以前的文章或继续浏览下面的相关文章希望大家以后多多支持云初冀北!

免责声明
本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail:Goliszhou@gmail.com
$

发表评论

表情:
评论列表 (暂无评论,133人围观)

还没有评论,来说两句吧...