2017-09-12 3 views
1

내가 로컬 호스트에 Elasticsearch 서버에 내 장고 모델을 연결하기 위해 노력하고있어하지만 난장고없는 모듈 이름 elasticsearch_dsl.connections

from elasticsearch_dsl.connections import connections 

을하려고 할 때 오류 "ImportError를 얻을 : 없음 모듈 이름 elasticsearch_dsl.connections가 ". Django 쉘에서이 동일한 명령을 사용할 때 제대로 작동합니다.

search.py ​​

from elasticsearch_dsl.connections import connections 
from elasticsearch_dsl import DocType, Text, Date, Boolean, Integer, Keyword, fields 
from elasticsearch.helpers import bulk 
from elasticsearch import Elasticsearch 

from .models import HomeGym, Country, Rating 

connections.create_connection() 

class HomeGymIndex(DocType): 
    title = Text() 
    price = fields.FloatField() 
    tags = Keyword() 

    city = Text() 
    country = Text() 

    rate = Integer() 
    opusApproved = Boolean() 

def bulk_indexing(): 
    HomeGymIndex.init() 
    es = Elasticsearch() 
    bulk(client=es, actions=(b.indexing() for b in HomeGym.objects.all().iterator())) 

이 회선에 자동 ImportError를 1. 같은 import 문은 비록 쉘에서 작동 "아니 모듈 이름 elasticsearch_dsl.connections" 을 이끌고 있습니다.

저는 이미 내 virtualenv 안에 elasticsearch와 elasticsearch-dsl을 pip 설치했습니다. 여기

는 homegymlistings 응용 프로그램 안에있는 search.py ​​파일 내에서 호출 할 때

my_website/ 
    elasticsearch/ 
     #elasticsearch files pulled from github 
     elasticsearch-5.5.2-SNAPSHOT/ 
      #elasticsearch files 
      bin/ 
       elasticsearch 
    opus/ 
     manage.py 
     homegymlistings/ 
      models.py 
      search.py 
      #other standard app files 
     opus/ 
      #standard files for main django branch 
    my_virtualenv/ 
     bin/ 
      activate 

왜 내 import 문은 실패하는 파일 구조를 무엇입니까?

답변

0

분명히 나는 ​​elasticsearch를 설치하고 elasticsearch-DSL 외부 VIRTUALENV의 핍했다. 그 후에 오류는 사라졌습니다.

1

실행이

pip install elasticsearch_dsl