2016-09-03 43 views
0

我必须在只能执行程序的机器上使用python-elasticsearch库。我试图通过追加sys.path来使用elasticsearch模块,如下所述。我面临着以下问题。它看起来像这里提到的问题 https://github.com/elastic/elasticsearch-py/issues/253。但是,如果我没有sudo访问权限或任何类型的升级访问权限,我该如何解决此问题。Python Elasticsearch urllib3例外

**注:**我没有这台机器上sudo访问,所以我不能有VENV,画中画等

import sys 
    sys.path.append('/tmp/elasticpy/elasticsearch-2.3.0') 
    from elasticsearch import Elasticsearch 
    Traceback (most recent call last): 
     File "<stdin>", line 1, in <module> 
     File "/tmp/elasticpy/elasticsearch-2.3.0/elasticsearch/__init__.py", line 17, in <module> 
     from .client import Elasticsearch 
     File "/tmp/elasticpy/elasticsearch-2.3.0/elasticsearch/client/__init__.py", line 5, in <module> 
     from ..transport import Transport 
     File "/tmp/elasticpy/elasticsearch-2.3.0/elasticsearch/transport.py", line 4, in <module> 
     from .connection import Urllib3HttpConnection 
     File "/tmp/elasticpy/elasticsearch-2.3.0/elasticsearch/connection/__init__.py", line 3, in <module> 
     from .http_urllib3 import Urllib3HttpConnection 
     File "/tmp/elasticpy/elasticsearch-2.3.0/elasticsearch/connection/http_urllib3.py", line 2, in <module> 
     import urllib3 
    ImportError: No module named urllib3 
+0

使用virtualenv。 –

+0

正如我建议我没有权利在各自的机器创建一个venv – techrawther

+0

你不需要管理员权限来创建一个virtualenv –

回答

0

的建议@nehal感谢我能得到固定。请找到 一系列步骤我用来安装

  1. 使用easy_install的安装包PIP
  2. 追加PYTHONPATH
  3. 使用PIP安装的virtualenv
  4. 激活新的virtualenv
  5. 安装elasticsearch使用PIP

    export PYTHONPATH="${PYTHONPATH}:/tmp/pytest/" 
    easy_install --install-dir /tmp/pytest/ pip  
    pip install virtualenv --prefix /tmp/pytest/ 
    export PATH="${PATH}:/tmp/pytest:/tmp/pytest/bin" 
    export PYTHONPATH="${PYTHONPATH}:/tmp/pytest/lib/python2.7/site-packages" 
    cd /tmp/ 
    virtualenv venv 
    source venv/bin/activate 
    pip install elasticsearch