一些背景:我正在研究我们团队中的其他开发人员将使用的一些python模块。每个模块的一个共同主题是将一条或多条信息发布给卡夫卡。我们打算在这个时候使用融合卡夫卡客户。在我们的组织中,我们对python开发非常陌生--我们传统上一直是一个.NET商店。
复杂之处在于:虽然我们创建的代码将运行在Linux ( their 7)上,但大多数开发人员将在Windows上完成他们的工作。
因此,我们需要在每个开发人员机器上编译的librdkafka库(它有自己的依赖关系,其中之一是OpenSSL)。然后一个pip安装汇流-卡夫卡应该只是工作,这意味着一个pip安装我们的软件包将工作。理论上。
首先,我在我的Linux笔记本电脑(Arch)上进行了安装。我知道我已经有了OpenSSL和其他的zip库依赖项,所以这个过程是无痛的:
图书馆员的安装进入了/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上工作的痛苦之处在于:
这就是我被困的地方。 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>
对安装位置有什么建议吗?
发布于 2016-10-07 11:59:03
我不确定在Windows上安装的理想位置,但我运行了下面的测试,并取得了一些成功。
我将输出和头复制到C:\test\lib
和C:\test\include
,然后使用以下选项运行pip:
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。
发布于 2018-06-13 12:47:38
这是个老生常谈的问题,但似乎仍不容易回答。而且,汇合似乎太忙了,无法在Windows支持下工作.
几周前,我也有同样的头痛,在做了一些研究之后,我设法让它在Windows上对我起作用。我记录了我的发现,并上传了一个预编好的库到我的Git,请检查,看看它是否有帮助。:D
https://github.com/MichaelZhangCA/confluent-kafka-python
我的环境是Python3.664位版本,但理想情况下,如果您遵循相同的方法,它也应该适用于32位。
发布于 2018-09-17 00:26:34
我想您已经成功地遵循了MichaelZhangCA (https://github.com/MichaelZhangCA/confluent-kafka-python/)上一篇文章中的说明。
如果这样做,这可能是执行的最后两个命令:
::Install confluent-kafka
cd C:\confluent-kafka-python\confluent-kafka-python-0.11.4
python setup.py install
如果这是正确的,那么这些DLL是在C:\confluent-kafka-python\librdkafka-reference\release\
下创建的。
你所要做的就是把它们复制到寡妇路径中已经存在的幻灯里。
例如,我对Windows使用Anaconda5.2,使用python3.6。我的Anaconda提示符在路径中有一个空目录,所以我在那里复制了那些DLL的:
::Anaconda Prompt - copy DLLs to a directory already in PATH
mkdir %CONDA_PREFIX%\Library\usr\bin
copy C:\confluent-kafka-python\librdkafka-reference\release %CONDA_PREFIX%\Library\usr\bin
如果不使用Anaconda,只需将这些DLL复制到Windows路径中的任何其他目录。您还可以将它们留在C:\confluent-kafka-python\librdkafka-reference\release
中,并将此目录添加到路径中。
https://stackoverflow.com/questions/39901163
复制相似问题