Jil*_*dga 23 python apache-kafka docker librdkafka confluent-kafka-python
我在项目中使用 confluence-kafka Python 客户端。我正在尝试使用此客户端创建 Docker 映像。
我面临以下错误:-
#11 8.015 [pipenv.exceptions.InstallError]: In file included from /tmp/pip-install-so_whhii/confluent-kafka_9d9553bf46cf489bb25fcb2ac7698747/src/confluent_kafka/src/Admin.c:17:
#11 8.015 [pipenv.exceptions.InstallError]: /tmp/pip-install-so_whhii/confluent-kafka_9d9553bf46cf489bb25fcb2ac7698747/src/confluent_kafka/src/confluent_kafka.h:23:10: fatal error: librdkafka/rdkafka.h: No such file or directory
#11 8.015 [pipenv.exceptions.InstallError]: 23 | #include <librdkafka/rdkafka.h>
#11 8.015 [pipenv.exceptions.InstallError]: | ^~~~~~~~~~~~~~~~~~~~~~
#11 8.015 [pipenv.exceptions.InstallError]: compilation terminated.
#11 8.015 [pipenv.exceptions.InstallError]: error: command '/usr/bin/gcc' failed with exit code 1
#11 8.016 [pipenv.exceptions.InstallError]: [end of output]
Run Code Online (Sandbox Code Playgroud)
根据我的搜索,它与 librdkafka 的 Apple M1 版本相关。
Joz*_*sky 24
如果您在 M1 上的 Docker 容器内安装 confluence-kafka,这对我很有帮助。
RUN apt-get update && \
apt-get install -y --no-install-recommends gcc git libssl-dev g++ make && \
cd /tmp && git clone https://github.com/edenhill/librdkafka.git && \
cd librdkafka && git checkout tags/v1.9.0 && \
./configure && make && make install && \
cd ../ && rm -rf librdkafka
Run Code Online (Sandbox Code Playgroud)
Ven*_*nan 15
请参考这个Github问题。M1 的问题是 Homebrew 安装在不同的位置,因此需要通过在文件中包含这些行来将这些变量添加到环境.zshrc中
export C_INCLUDE_PATH=/opt/homebrew/Cellar/librdkafka/1.8.2/include
export LIBRARY_PATH=/opt/homebrew/Cellar/librdkafka/1.8.2/lib
Run Code Online (Sandbox Code Playgroud)
Ant*_*ods 10
Confluence 工程师显然非常关注他们的付费客户,并且在 Python 3.10 发布之后很多很多个月,他们仍然没有发布包含该软件包的二进制文件的 3.10 轮子。
https://github.com/confluenceinc/confluence-kafka-python/issues/1219
你有两个选择。1、运行Python 3.9;2、librdkafka-dev在安装之前通过 apt安装confluent-kafka(对于 debian 基础镜像)。
Apple M1 的问题与此相同 - 即,包含二进制文件的平台没有预构建的轮子,但librdkafka-dev如果您尝试构建amd64Linux 映像,则修复(通过安装)要容易得多。
| 归档时间: |
|
| 查看次数: |
22548 次 |
| 最近记录: |