程序程序时所报的错误:
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
网友评论