2016-10-06 29 views
4

小背景:我正在研究一些我们团队中其他开发人员将使用的python模块。每个模块的一个共同主题是将发布一条或多条消息给Kafka。我们现在打算使用Confluent Kafka客户端。我们对组织中的python开发非常新颖 - 我们传统上一直是.NET商店。并发症:虽然我们创建的代码将在Linux(rhel 7)上运行,但大多数开发人员将在Windows上完成他们的工作。在Windows上安装librdkafka以支持Python开发

所以我们需要在每个开发人员机器上编译的librdkafka C库(它有自己的依赖关系,其中之一是OpenSSL)。然后,一个汇合卡夫卡的点安装应该只是工作,这意味着我们的包的点安装将工作。理论上。

要开始,我在我的Linux笔记本电脑(Arch)上进行了安装。我知道我已经有了OpenSSL和其他拉链库依赖可用的,所以这个过程是无痛:

  • 混帐克隆librdkafka回购
  • 配置,使每自述安装
  • PIP安装汇合卡夫卡

安装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
  • 混帐克隆librdkafka回购
  • 在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> 

任何建议上的安装位置?

回答

1

我不确定在Windows上安装的理想位置是什么,但我运行了下面的测试并取得了一些成功。

我复制我的输出和头文件C:\test\libC:\test\include,然后跑一个点安装带有下列选项:

pip install --global-option=build_ext --global-option="-LC:\test\lib" --global-option="-IC:\test\include" confluent-kafka 

不幸的是,这完全不是那么回事,因为汇合卡夫卡安装不支持Windows此时:https://github.com/confluentinc/confluent-kafka-python/issues/52#issuecomment-252098462

相关问题