1

werkzeug.contrib.cache.MemcachedCacheget\set データを取得しようとすると、python3_memcached-1.51 を使用しています。次のエラーが表示さますmemcache.MemcachedKeyTypeError: Key must be str()'s

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