Mac M1 confluent-kafka安装失败解决记录

140 阅读2分钟

系统信息

Chip: Apple M1 Pro
Python 3.9.6 (default, Oct 18 2022, 12:41:40) 
[Clang 14.0.0 (clang-1400.0.29.202)] on darwin

安装失败日志

Collecting confluent-kafka==1.7.0
  Using cached confluent-kafka-1.7.0.tar.gz (103 kB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Building wheels for collected packages: confluent-kafka
  Building wheel for confluent-kafka (setup.py): started
  Building wheel for confluent-kafka (setup.py): finished with status 'error'
  Running setup.py clean for confluent-kafka
Failed to build confluent-kafka

  error: subprocess-exited-with-error
  
  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [55 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.macosx-12-x86_64-cpython-310
      creating build/lib.macosx-12-x86_64-cpython-310/confluent_kafka
      copying src/confluent_kafka/error.py -> build/lib.macosx-12-x86_64-cpython-310/confluent_kafka
      copying src/confluent_kafka/serializing_producer.py -> build/lib.macosx-12-x86_64-cpython-310/confluent_kafka
      copying src/confluent_kafka/__init__.py -> build/lib.macosx-12-x86_64-cpython-310/confluent_kafka
      copying src/confluent_kafka/deserializing_consumer.py -> build/lib.macosx-12-x86_64-cpython-310/confluent_kafka
      creating build/lib.macosx-12-x86_64-cpython-310/confluent_kafka/schema_registry
      copying src/confluent_kafka/schema_registry/avro.py -> build/lib.macosx-12-x86_64-cpython-310/confluent_kafka/schema_registry
      copying src/confluent_kafka/schema_registry/error.py -> build/lib.macosx-12-x86_64-cpython-310/confluent_kafka/schema_registry
      copying src/confluent_kafka/schema_registry/__init__.py -> build/lib.macosx-12-x86_64-cpython-310/confluent_kafka/schema_registry
      copying src/confluent_kafka/schema_registry/json_schema.py -> build/lib.macosx-12-x86_64-cpython-310/confluent_kafka/schema_registry
      copying src/confluent_kafka/schema_registry/schema_registry_client.py -> build/lib.macosx-12-x86_64-cpython-310/confluent_kafka/schema_registry
      copying src/confluent_kafka/schema_registry/protobuf.py -> build/lib.macosx-12-x86_64-cpython-310/confluent_kafka/schema_registry
      creating build/lib.macosx-12-x86_64-cpython-310/confluent_kafka/serialization
      copying src/confluent_kafka/serialization/__init__.py -> build/lib.macosx-12-x86_64-cpython-310/confluent_kafka/serialization
      creating build/lib.macosx-12-x86_64-cpython-310/confluent_kafka/admin
      copying src/confluent_kafka/admin/__init__.py -> build/lib.macosx-12-x86_64-cpython-310/confluent_kafka/admin
      creating build/lib.macosx-12-x86_64-cpython-310/confluent_kafka/avro
      copying src/confluent_kafka/avro/error.py -> build/lib.macosx-12-x86_64-cpython-310/confluent_kafka/avro
      copying src/confluent_kafka/avro/__init__.py -> build/lib.macosx-12-x86_64-cpython-310/confluent_kafka/avro
      copying src/confluent_kafka/avro/cached_schema_registry_client.py -> build/lib.macosx-12-x86_64-cpython-310/confluent_kafka/avro
      copying src/confluent_kafka/avro/load.py -> build/lib.macosx-12-x86_64-cpython-310/confluent_kafka/avro
      creating build/lib.macosx-12-x86_64-cpython-310/confluent_kafka/kafkatest
      copying src/confluent_kafka/kafkatest/verifiable_client.py -> build/lib.macosx-12-x86_64-cpython-310/confluent_kafka/kafkatest
      copying src/confluent_kafka/kafkatest/__init__.py -> build/lib.macosx-12-x86_64-cpython-310/confluent_kafka/kafkatest
      copying src/confluent_kafka/kafkatest/verifiable_consumer.py -> build/lib.macosx-12-x86_64-cpython-310/confluent_kafka/kafkatest
      copying src/confluent_kafka/kafkatest/verifiable_producer.py -> build/lib.macosx-12-x86_64-cpython-310/confluent_kafka/kafkatest
      creating build/lib.macosx-12-x86_64-cpython-310/confluent_kafka/avro/serializer
      copying src/confluent_kafka/avro/serializer/__init__.py -> build/lib.macosx-12-x86_64-cpython-310/confluent_kafka/avro/serializer
      copying src/confluent_kafka/avro/serializer/message_serializer.py -> build/lib.macosx-12-x86_64-cpython-310/confluent_kafka/avro/serializer
      running build_ext
      building 'confluent_kafka.cimpl' extension
      creating build/temp.macosx-12-x86_64-cpython-310
      creating build/temp.macosx-12-x86_64-cpython-310/private
      creating build/temp.macosx-12-x86_64-cpython-310/private/var
      creating build/temp.macosx-12-x86_64-cpython-310/private/var/folders
      creating build/temp.macosx-12-x86_64-cpython-310/private/var/folders/pf
      creating build/temp.macosx-12-x86_64-cpython-310/private/var/folders/pf/kzlqqc057h78t7rzmqbhwlr00000gn
      creating build/temp.macosx-12-x86_64-cpython-310/private/var/folders/pf/kzlqqc057h78t7rzmqbhwlr00000gn/T
      creating build/temp.macosx-12-x86_64-cpython-310/private/var/folders/pf/kzlqqc057h78t7rzmqbhwlr00000gn/T/pip-install-mj8a1g2z
      creating build/temp.macosx-12-x86_64-cpython-310/private/var/folders/pf/kzlqqc057h78t7rzmqbhwlr00000gn/T/pip-install-mj8a1g2z/confluent-kafka_20d83f2bc87c4307af0a1387ded43698
      creating build/temp.macosx-12-x86_64-cpython-310/private/var/folders/pf/kzlqqc057h78t7rzmqbhwlr00000gn/T/pip-install-mj8a1g2z/confluent-kafka_20d83f2bc87c4307af0a1387ded43698/src
      creating build/temp.macosx-12-x86_64-cpython-310/private/var/folders/pf/kzlqqc057h78t7rzmqbhwlr00000gn/T/pip-install-mj8a1g2z/confluent-kafka_20d83f2bc87c4307af0a1387ded43698/src/confluent_kafka
      creating build/temp.macosx-12-x86_64-cpython-310/private/var/folders/pf/kzlqqc057h78t7rzmqbhwlr00000gn/T/pip-install-mj8a1g2z/confluent-kafka_20d83f2bc87c4307af0a1387ded43698/src/confluent_kafka/src
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -I/Users/qiantao/work/telemetry_grpc/venv/include -I/usr/local/opt/python@3.10/Frameworks/Python.framework/Versions/3.10/include/python3.10 -c /private/var/folders/pf/kzlqqc057h78t7rzmqbhwlr00000gn/T/pip-install-mj8a1g2z/confluent-kafka_20d83f2bc87c4307af0a1387ded43698/src/confluent_kafka/src/Admin.c -o build/temp.macosx-12-x86_64-cpython-310/private/var/folders/pf/kzlqqc057h78t7rzmqbhwlr00000gn/T/pip-install-mj8a1g2z/confluent-kafka_20d83f2bc87c4307af0a1387ded43698/src/confluent_kafka/src/Admin.o
      In file included from /private/var/folders/pf/kzlqqc057h78t7rzmqbhwlr00000gn/T/pip-install-mj8a1g2z/confluent-kafka_20d83f2bc87c4307af0a1387ded43698/src/confluent_kafka/src/Admin.c:17:
      /private/var/folders/pf/kzlqqc057h78t7rzmqbhwlr00000gn/T/pip-install-mj8a1g2z/confluent-kafka_20d83f2bc87c4307af0a1387ded43698/src/confluent_kafka/src/confluent_kafka.h:23:10: fatal error: 'librdkafka/rdkafka.h' file not found
      #include <librdkafka/rdkafka.h>
               ^~~~~~~~~~~~~~~~~~~~~~
      1 error generated.
      error: command '/usr/bin/clang' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for confluent-kafka
ERROR: Could not build wheels for confluent-kafka, which is required to install pyproject.toml-based projects

解决方案

brew install librdkafka
ls /usr/local/Cellar/librdkafka/2.3.0/include/librdkafka 

rdkafka.h      rdkafka_mock.h rdkafkacpp.h
pip install confluent-kafka
最终升级 confluent-kafka 到 2.3.0版本