gpt4 book ai didi

python - Django 没有名为 elasticsearch_dsl.connections 的模块

转载 作者:行者123 更新时间:2023-11-28 21:39:58 24 4
gpt4 key购买 nike

我正在尝试将我的 Django 模型连接到本地主机上的 Elasticsearch 服务器,但是当我尝试时

from elasticsearch_dsl.connections import connections

我收到错误“ImportError:没有名为 elasticsearch_dsl.connections 的模块”。当我在 Django shell 中使用相同的命令时,它工作正常。

搜索.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()))

这会导致第 1 行出现 ImportError。“No module named elasticsearch_dsl.connections”不过,相同的 import 语句在 shell 中有效。

我已经在我的 virtualenv 中完成了 elasticsearch 和 elasticsearch-dsl 的 pip 安装。

文件结构

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

为什么只有在位于 homegymlistings 应用程序内的 search.py​​ 文件中调用我的导入语句时才会失败?

最佳答案

运行这个

pip install elasticsearch_dsl

关于python - Django 没有名为 elasticsearch_dsl.connections 的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46166092/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com