Werkzeug-0.9.4 和 python3_memcached-1.51 在 Python 3.4 上不起作用



我使用python3_memcached-1.51与werkzeug.contrib.cache.MemcachedCache当我试图获得set数据我得到以下错误:memcache.MemcachedKeyTypeError: Key must be str()'s在这里:https://github.com/eguven/python3-memcached/blob/master/memcache.py L1039

if not isinstance(key, str):
    raise Client.MemcachedKeyTypeError("Key must be str()'s")

密钥类型为bytes,不是str。所以我进一步检查了一下。

werkzeug.contrib.cache.MemcachedCache内部键被编码为bytes(在Python3中),如下所示:

if isinstance(key, text_type):
    key = key.encode('utf-8')

https://github.com/mitsuhiko/werkzeug/blob/master/werkzeug/contrib/cache.py L342

正确的修复方法是什么?猴子补丁?

修复方法是升级到Werkzeug 0.10: https://github.com/mitsuhiko/werkzeug/commit/94bea60a1b8e26b586dcd7bc75b162a9909696a3

相关内容

  • 没有找到相关文章

最新更新