2016-09-12 3 views
1

우분투 16.04 XenialPython 3.5.2 가상 환경을 가진 도커 컨테이너를 사용하고 있습니다. 내가 서버를 초기화하려고 할 때마다 uWSGI 나는 다음과 같은 파이썬 오류가 점점 오전 :Python에서 elasticsearch.helpers를 가져올 때 ImportError가 발생했습니다.

File "/env/lib/python3.5/site-packages/elasticsearch_dsl/__init__.py", line 5, in <module> 
    from .search import Search 
    File "/env/lib/python3.5/site-packages/elasticsearch_dsl/search.py", line 3, in <module> 
    from elasticsearch.helpers import scan 
ImportError: No module named 'elasticsearch.helpers' 

내가 모듈에 어떤 문제가 있는지 확인하기 위해 고정 표시기 컨테이너 내부에 수동으로 떠들썩한 파티를 실행하고있다.

import sys 
sys.path 
[ 
    '', 
    '/env/lib/python35.zip', 
    '/env/lib/python3.5', 
    '/env/lib/python3.5/plat-x86_64-linux-gnu', 
    '/env/lib/python3.5/lib-dynload', 
    '/usr/lib/python3.5', 
    '/usr/lib/python3.5/plat-x86_64-linux-gnu', 
    '/env/lib/python3.5/site-packages' 
] 
: 사이트 패키지 폴더가 제대로 파이썬 경로에 추가 된 것을 알 수

# pip list 
elasticsearch (2.1.0) 
elasticsearch-dsl (0.0.8) 

sys.path에 실행 : 가상 환경에서 pip list을 실행하여 나는 패키지가 제대로 설치되어 있는지 알 수 있습니다

__init__.py 파일이 elasticsearch.helpers 폴더에 있으므로 문제가되지 않습니다.

from elasticsearch.helpers import scan 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named 'elasticsearch.helpers' 

을하지만 지금 여기에서 사이트 - 패키지 폴더 cd /env/lib/python3.5/site-packages 및 실행 파이썬 콘솔로 이동하는 경우, 가져 오기가 작동합니다 : 나는 파이썬 콘솔에서 가져 오기를하려고하면 그것은뿐만 아니라 실패합니다.

나는 이것이 왜 도움이 될만한 지 알 수 없습니다.

답변

2

오우 ... 그냥 신참 실수. 내 프로젝트의 폴더 중 하나가 elasticsearch라고 불리 웠고이 문제를 일으켰습니다.

다음 명령을 실행했습니다. 내 앱이 단순히 다른 위치에서 elasticsearch 모듈을로드하고 있다는 것을 알았습니다.

import elasticsearch 
pprint.pprint(os.path.abspath(elasticsearch.__file__)) 
# /var/sites/my_app/elasticsearch/__init__.py 
관련 문제