2017-09-12 4 views
1

私はローカルホスト上のElasticsearchサーバに私のDjangoのモデルを接続しようとしているが、私はジャンゴなしモジュールの名前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())) 

これは、同じimport文はしかし、シェルで動作 「いいえモジュールの名前elasticsearch_dsl.connections」1行にはImportErrorにつながります。

私はすでにvirtualsevの中にelasticsearchとelasticsearch-dslのpipインストールを行っています。ここで

は、ファイル構造はhomegymlistingsアプリ内に位置しsearch.py​​ファイル内で呼び出されたときに、なぜ私だけのimport文は失敗しない

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 

のですか?

答えて

0

どうやら私はvirtualenvのの外elasticsearchとelasticsearch-DSL をインストールピップする必要がありました。その後、エラーは消え去った。

1

実行この

pip install elasticsearch_dsl

関連する問題