关于REHL7的PyHive [Hive]导入错误:libsasl2.so.2:无法打开共享目标文件:没有这样的文件或目录

问题描述:

我似乎无法让PyHive正常工作。百胜报告 已经安装的软件包cyrus-sasl-lib-2.1.26-20.el7_2.x86_64和最新版本。关于REHL7的PyHive [Hive]导入错误:libsasl2.so.2:无法打开共享目标文件:没有这样的文件或目录

希望我只是想念一些东西。请帮忙?

--------------------------------------------------------------------------- 
ImportError        Traceback (most recent call last) 
<ipython-input-2-ce1195d3db11> in <module>() 
----> 1 from pyhive import hive 
     2 from TCLIService.ttypes import TOperationState 
     3 cursor = hive.connect('localhost').cursor() 
     4 cursor.execute('SELECT * FROM my_awesome_data LIMIT 10', async=True) 
     5 

/opt/anaconda2/lib/python2.7/site-packages/pyhive/hive.py in <module>() 
    18 import getpass 
    19 import logging 
---> 20 import sasl 
    21 import sys 
    22 import thrift.protocol.TBinaryProtocol 

/opt/anaconda2/lib/python2.7/site-packages/sasl-0.2.1-py2.7-linux-x86_64.egg/sasl/__init__.py in <module>() 

/opt/anaconda2/lib/python2.7/site-packages/sasl-0.2.1-py2.7-linux-x86_64.egg/sasl/saslwrapper.py in <module>() 

/opt/anaconda2/lib/python2.7/site-packages/sasl-0.2.1-py2.7-linux-x86_64.egg/sasl/saslwrapper.py in __bootstrap__() 

ImportError: libsasl2.so.2: cannot open shared object file: No such file or directory 

我似乎找到了在another libsasl-related question进一步的信息,并在Cloudera's Python-SASL GitHub解决方案。

的问题是sasl Python包被链接到一个旧版本的机库:libsasl2.so.2,它存在于RHEL/CentOS的6.在RHEL/CentOS的7,有libsasl2.so.3,通过cyrus-sasl-lib安装到/usr/lib64/

的解决方案是重新安装sasl Python包:

pip uninstall sasl 
pip install sasl