3

我似乎无法让 PyHive 正常工作。Yum 报告 Package cyrus-sasl-lib-2.1.26-20.el7_2.x86_64 已经安装并且是最新版本。

希望我只是错过了一些东西。请帮忙?

---------------------------------------------------------------------------
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
4

1 回答 1

0

我似乎在另一个libsasl相关问题中找到了更多信息,以及Cloudera 的 Python-SASL GitHub中的解决方案。

问题是saslPython 包链接到旧版本的本机库:libsasl2.so.2,它存在于 RHEL/CentOS 6 上。在 RHEL/CentOS 7 上,有libsasl2.so.3, 由cyrus-sasl-libinto安装/usr/lib64/

解决办法是重新安装saslPython包:

pip uninstall sasl
pip install sasl
于 2017-08-22T14:14:25.043 回答