python库 clickhouse-driver 使用过程报错:clickhouse-cityhash is required to use compression
问题描述
python库 clickhouse-driver 使用过程报错:clickhouse-cityhash is required to use compression
原因分析
底层库(比如 clickhouse-driver),它在启用压缩通信时仍然会尝试加载 clickhouse-cityhash 库来做内部 hash 校验
clickhouse-cityhash 是一个 Python 包(绑定库),提供 CityHash 哈希函数的实现,用于 ClickHouse 客户端或驱动在启用压缩/散列相关功能时计算哈希值或校验。错误提示的意思是你的程序需要这个包来支持压缩功能,但当前环境中没有安装它
启用压缩,请先 python3 -m pip install clickhouse-cityhash
CityHash 是 Google 提供的一组高性能非加密哈希函数,适用于短/长字符串快速哈希计算。
clickhouse-cityhash 是一个 Python 包(绑定库),提供 CityHash 哈希函数的实现,用于 ClickHouse 客户端或驱动在启用压缩/散列相关功能时计算哈希值或校验。
pip 安装 clickhouse-cityhash 报错
- 使用的是 Python 3.13
- 出现了多个类似如下的错误:
error: no member named 'curexc_type' in '_ts'
error: no member named 'ob_digit' in '_longobject'
error: no matching function for call to '_PyLong_AsByteArray'
这些错误主要是由于该包的 C/C++ 扩展代码与当前使用的 Python 3.13+ 不兼容导致的
💡 解决方法:降级到 Python <= 3.12
亲测可用!
2147

被折叠的 条评论
为什么被折叠?



