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()

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐