关于pykafka缺少rdkafka包报错的问题解决方案

程序程序时所报的错误:

ImportError: cannot import name '_rd_kafka' from 'pykafka.rdkafka'

解决方案:

1.卸载pykafka
pip uninstall pykafka
2.按步骤安装rdkafka
yum -y update gcc
yum -y install gcc+ gcc-c++
git clone https://github.com/edenhill/librdkafka.git
cd librdkafka/
./configure
make&& make install

默认是把动态库安装到/usr/local/lib下的,所以在Linux的默认共享库路径/lib和/usr/lib下找不到。因此添加的library如果不在/lib和/usr/lib里面的话,就需要往/etc/ld.so.conf文件追加library所在的路径,然后重新调用下ldconfig命令即可。

echo "/usr/local//lib">> /etc/ld.so.conf
ldconfig 
3.重新编辑安装pykafka

Python可以通过pip工具安装pykafka
但是我们需要使用librdkafka扩展,使用pip工具是无法安装librdkafka的,所以我们需要源码编译安装pykafka。

git clone [https://github.com/Parsely/pykafka.git](https://github.com/Parsely/pykafka.git)
cd pykafka/
mkdir librdkafka
cp /root/librdkafka-0.11.1/src/rdkafka.h /root/pykafka/librdkafka/   #rdkafka.h 文件路径如果不知道可以用find / -name rdkafka.h命令来寻找.
python setup.py build
python setup.py install

完成安装啦!重启一下程序看看问题是不是已经解决啦!

你可能感兴趣的:(关于pykafka缺少rdkafka包报错的问题解决方案)