【发布时间】:2017-02-15 12:05:39
【问题描述】:
一点背景知识:我正在开发一些我们团队中其他开发人员将使用的 Python 模块。每个模块的一个共同主题是将一条或多条消息发布到 Kafka。我们目前打算使用 Confluent Kafka 客户端。在我们的组织中,我们对 Python 开发还很陌生——我们传统上是一家 .NET 商店。
复杂性:虽然我们创建的代码将在 Linux (rhel 7) 上运行,但大多数开发人员将在 Windows 上工作。
所以我们需要在每台开发机器上编译的 librdkafka C 库(它有自己的依赖项,其中之一是 OpenSSL)。然后 confluent-kafka 的 pip install 应该可以正常工作,这意味着我们包的 pip install 可以正常工作。理论上。
首先,我在我的 Linux 笔记本电脑 (Arch) 上进行了安装。我知道我已经有了 OpenSSL 和其他可用的 zip lib 依赖项,所以这个过程很轻松:
- git clone librdkafka repo
- 按照自述文件进行配置、制作和安装
- pip install confluent-kafka
- 完成
librdkafka 的安装进入/usr/local:
/usr/local/lib/librdkafka.a
/usr/local/lib/librdkafka++.a
/usr/local/lib/librdkafka.so -> librdkafka.so.l
/usr/local/lib/librdkafka++.so -> librdkafka++.so.l
/usr/local/lib/librdkafka.so.l
/usr/local/lib/librdkafka++.so.l
/usr/local/lib/pkgconfig/rdkafka.pc
/usr/local/lib/pkgconfig/rdkafka++.pc
/usr/local/include/librdkafka/rdkafkacpp.h
/usr/local/include/librdkafka/rdkafka.h
现在是痛苦的部分,让它在 Windows 上运行:
- 安装precompiled OpenSSL
- git clone librdkafka repo
- 在VS2015中打开
- 通过 NuGet 安装 libz
- 构建解决方案
- 安装到哪里???
这就是我卡住的地方。 Windows 7/8/10 机器上的标准安装是什么样的?
我从构建输出中得到以下信息,但不知道应该去哪里才能使pip install confluent-kafka“正常工作”:
/librdkafka/win32/Release/librdkafka.dll
/librdkafka/win32/Release/librdkafka.exp
/librdkafka/win32/Release/librdkafka.lib
/librdkafka/win32/Release/librdkafkacpp.dll
/librdkafka/win32/Release/librdkafkacpp.exp
/librdkafka/win32/Release/librdkafkacpp.lib
/librdkafka/win32/Release/zlib.dll
<and the .h files back in the src>
关于安装位置有什么建议吗?
【问题讨论】:
标签: python windows apache-kafka