1

werkzeug.contrib.cache.MemcachedCache当我尝试获取\设置数据时,我正在使用python3_memcached-1.51 我收到以下错误: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

什么是正确的解决方法?猴子补丁?

4

1 回答 1

1

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

于 2015-03-27T12:06:55.447 回答