2017-05-31 40 views
0

我寫了這個代碼沒有這樣的文件或目錄:導入錯誤:libsasl2.so.3:無法打開共享對象文件:

from pyhive import hive 

connection = hive.connect("quickstart.cloudera", username="cloudera", 
          port=10000) 
cursor = connection.cursor() 
query = "SELECT * FROM capacite_part" 
cursor.execute(query) 
for row in cursor.fetchall(): 
    print(row[0], row[1]) 

,我得到這樣的:

In [6]: runfile('/home/cloudera/lire data capacite_part.py', wdir='/home/cloudera') 
Traceback (most recent call last): 

    File "<ipython-input-6-c3cdfa2f79a9>", line 1, in <module> 
    runfile('/home/cloudera/lire data capacite_part.py', wdir='/home/cloudera') 

    File "/home/cloudera/anaconda2/lib/python2.7/site-packages/spyder/utils/site/sitecustomize.py", line 880, in runfile 
    execfile(filename, namespace) 

    File "/home/cloudera/anaconda2/lib/python2.7/site-packages/spyder/utils/site/sitecustomize.py", line 94, in execfile 
    builtins.execfile(filename, *where) 

    File "/home/cloudera/lire data capacite_part.py", line 7, in <module> 
    from pyhive import hive 

    File "/home/cloudera/anaconda2/lib/python2.7/site-packages/pyhive/hive.py", line 22, in <module> 
    import sasl 

    File "/home/cloudera/anaconda2/lib/python2.7/site-packages/sasl/__init__.py", line 15, in <module> 
    from sasl.saslwrapper import * 

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

這是我的配置:

CLOUDERA CD5 CENTOS 6.7 

Python 2.7.13 :: Anaconda 4.4.0 (64-bit) 

這是PIP PKG:

[ cloudera @ quickstart〜] $ pip freeze

alabaster==0.7.10 
anaconda-client==1.6.3 
anaconda-navigator==1.6.2 
anaconda-project==0.6.0 
asn1crypto==0.22.0 
astroid==1.4.9 
astropy==1.3.2 
Babel==2.4.0 
backports-abc==0.5 
backports.shutil-get-terminal-size==1.0.0 
backports.ssl-match-hostname==3.4.0.2 
beautifulsoup4==4.6.0 
bitarray==0.8.1 
blaze==0.10.1 
bleach==1.5.0 
bokeh==0.12.5 
boto==2.46.1 
Bottleneck==1.2.1 
cdecimal==2.3 
cffi==1.10.0 
chardet==3.0.3 
click==6.7 
cloudpickle==0.2.2 
clyent==1.2.2 
colorama==0.3.9 
conda==4.3.21 
configparser==3.5.0 
contextlib2==0.5.5 
cryptography==1.8.1 
cycler==0.10.0 
Cython==0.25.2 
cytoolz==0.8.2 
dask==0.14.3 
datashape==0.5.4 
decorator==4.0.11 
distributed==1.16.3 
docutils==0.13.1 
entrypoints==0.2.2 
enum34==1.1.6 
et-xmlfile==1.0.1 
fastcache==1.0.2 
Flask==0.12.2 
Flask-Cors==3.0.2 
funcsigs==1.0.2 
functools32==3.2.3.post2 
future==0.16.0 
futures==3.1.1 
gevent==1.2.1 
greenlet==0.4.12 
grin==1.2.1 
h5py==2.7.0 
HeapDict==1.0.0 
html5lib==0.999 
idna==2.5 
imagesize==0.7.1 
ipaddress==1.0.18 
ipykernel==4.6.1 
ipython==5.3.0 
ipython-genutils==0.2.0 
ipywidgets==6.0.0 
isort==4.2.5 
itsdangerous==0.24 
jdcal==1.3 
jedi==0.10.2 
Jinja2==2.9.6 
jsonschema==2.6.0 
jupyter==1.0.0 
jupyter-client==5.0.1 
jupyter-console==5.1.0 
jupyter-core==4.3.0 
lazy-object-proxy==1.2.2 
llvmlite==0.18.0 
locket==0.2.0 
lxml==3.7.3 
MarkupSafe==0.23 
matplotlib==2.0.2 
mistune==0.7.4 
mpmath==0.19 
msgpack-python==0.4.8 
multipledispatch==0.4.9 
navigator-updater==0.1.0 
nbconvert==5.1.1 
nbformat==4.3.0 
networkx==1.11 
nltk==3.2.3 
nose==1.3.7 
notebook==5.0.0 
numba==0.33.0+0.ge79330a.dirty 
numexpr==2.6.2 
numpy==1.12.1 
numpydoc==0.6.0 
odo==0.5.0 
olefile==0.44 
openpyxl==2.4.7 
packaging==16.8 
pandas==0.20.1 
pandocfilters==1.4.1 
partd==0.3.8 
pathlib2==2.2.1 
patsy==0.4.1 
pep8==1.7.0 
pexpect==4.2.1 
pickleshare==0.7.4 
Pillow==4.1.1 
ply==3.10 
prompt-toolkit==1.0.14 
psutil==5.2.2 
ptyprocess==0.5.1 
py==1.4.33 
pycairo==1.10.0 
pycosat==0.6.2 
pycparser==2.17 
pycrypto==2.6.1 
pycurl==7.43.0 
pyflakes==1.5.0 
Pygments==2.2.0 
PyHive==0.3.0 
pylint==1.6.4 
pyodbc==4.0.16 
pyOpenSSL==17.0.0 
pyparsing==2.1.4 
pytest==3.0.7 
python-dateutil==2.6.0 
pytz==2017.2 
PyWavelets==0.5.2 
PyYAML==3.12 
pyzmq==16.0.2 
QtAwesome==0.4.4 
qtconsole==4.3.0 
QtPy==1.2.1 
requests==2.14.2 
rope==0.9.4 
sasl==0.2.1 
scandir==1.5 
scikit-image==0.13.0 
scikit-learn==0.18.1 
scipy==0.19.0 
seaborn==0.7.1 
simplegeneric==0.8.1 
singledispatch==3.4.0.3 
six==1.10.0 
snowballstemmer==1.2.1 
sortedcollections==0.5.3 
sortedcontainers==1.5.7 
Sphinx==1.5.6 
spyder==3.1.4 
SQLAlchemy==1.1.9 
statsmodels==0.8.0 
subprocess32==3.2.7 
sympy==1.0 
tables==3.3.0 
tblib==1.3.2 
terminado==0.6 
testpath==0.3 
thrift==0.10.0 
thrift-sasl==0.2.1 
toolz==0.8.2 
tornado==4.5.1 
traitlets==4.3.2 
unicodecsv==0.14.1 
wcwidth==0.1.7 
Werkzeug==0.12.2 
widgetsnbextension==2.0.0 
wrapt==1.10.10 
xlrd==1.0.0 
XlsxWriter==0.9.6 
xlwt==1.2.0 
zict==0.1.2 

任何人都知道爲什麼它不工作?

感謝很多提前...

(我已經在此之前,安裝了最新的蟒蛇分佈,與Python 3.6 ...這是做同樣的事情...)

在哪裏我可以得到一個新的libsasl2.so.3爲一個6.7和64位的... ...?

+0

你找到了一個解決方案?我正面臨一個非常類似的問題。 – singh1469

回答

0

有時這些版本問題可以通過創建與同一個庫的另一個版本的符號鏈接來解決。如果你已經libsasl2.so安裝,創建一個鏈接文件libsasl2.so.2爲同:

sudo ln -s /usr/lib64/libsasl2.so /usr/lib64/libsasl2.so.2 
+0

如果它們不同而且命名不同,這甚至是安全的嗎? – anomaaly

+0

不是這方面的專家,但在排除故障時,我發現在大多數情況下,這些是同一個庫的不同版本,除非發生劇烈變化,否則它們工作得很好。一個非常常見的例子是,您需要特定庫的v58來進行分發,例如, CentOS 7,而v58尚未發佈用於CentOS7。可用於CentOS 7的最大版本是v55,因此您需要創建從v55到v58的符號鏈接。 – user48390

+0

欲瞭解更多深入瞭解,請參閱以下主題[https://unix.stackexchange.com/questions/475/how-do-so-shared-object-numbers-work](https://unix.stackexchange .com/questions/475/how-do-so-shared-object-numbers-work)或相關的內核/ gcc文檔。 – user48390

相關問題