python版本:3.12.4
最近更新了一下python版本,升级到3.12.4版本,发现原来和kafka交互的代码突然报错了。
python
Python 3.12.4 (v3.12.4:8e8a4baf65, Jun 6 2024, 17:33:18) [Clang 13.0.0 (clang-1300.0.29.30)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from kafka.consumer.group import KafkaConsumer
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/kafka/__init__.py", line 23, in <module>
from kafka.consumer import KafkaConsumer
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/kafka/consumer/__init__.py", line 3, in <module>
from kafka.consumer.group import KafkaConsumer
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/kafka/consumer/group.py", line 13, in <module>
from kafka.consumer.fetcher import Fetcher
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/kafka/consumer/fetcher.py", line 19, in <module>
from kafka.record import MemoryRecords
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/kafka/record/__init__.py", line 1, in <module>
from kafka.record.memory_records import MemoryRecords, MemoryRecordsBuilder
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/kafka/record/memory_records.py", line 27, in <module>
from kafka.record.legacy_records import LegacyRecordBatch, LegacyRecordBatchBuilder
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/kafka/record/legacy_records.py", line 50, in <module>
from kafka.codec import (
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/kafka/codec.py", line 9, in <module>
from kafka.vendor.six.moves import range
ModuleNotFoundError: No module named 'kafka.vendor.six.moves'
解决办法:卸载原理的kafka-python包,已经不兼容最新的python版本,安装kafka-python-ng包。
pip3 install kafka-python
pip3 install kafka-python-ng
验证OK:
python
Python 3.12.4 (v3.12.4:8e8a4baf65, Jun 6 2024, 17:33:18) [Clang 13.0.0 (clang-1300.0.29.30)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from kafka.consumer.group import KafkaConsumer
>>>
>>> quit()