Django Haystack - 没有名为 'haystack.backends.elasticsearch5_backend' 的模块
Django Haystack - No module named 'haystack.backends.elasticsearch5_backend'
我按照 haystack 文档中的安装说明进行操作
http://docs.haystacksearch.org/en/master/tutorial.html#installation and the search engine installation https://django-haystack.readthedocs.io/en/master/installing_search_engines.html#elasticsearch
我已经安装了列为兼容的 Elasticsearch 5.1.16 并进行了设置,安装指南只有 Elasticsearch 版本 1 和 2 的示例,但说明支持版本 5。
所以我在设置里改成了版本5
'default': {
'ENGINE': 'haystack.backends.elasticsearch5_backend.Elasticsearch5SearchEngine',
'URL': 'http://127.0.0.1:9200/',
'INDEX_NAME': 'haystack',
},
}
我也查看了 repo,可以看到里面有版本 5
但是当我启动我的服务器时,我收到错误:
return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named 'haystack.backends.elasticsearch5_backend'
但是当我遍历文件夹结构时它没有安装版本 5 文件
root@4c1197e002e8:/myapp/# ls /usr/local/lib/python3.6/site-packages/haystack/backends/
__init__.py __pycache__/ elasticsearch2_backend.py elasticsearch_backend.py simple_backend.py solr_backend.py whoosh_backend.py
我使用的是与 git 存储库相同的版本,其中包含 5 个后端?
root@4c1197e002e8:/myapp/# pip freeze |干草
django-haystack==2.8.1
编辑:
它也已经安装到我安装的应用程序中:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.humanize',
'haystack',
...
有人帮我看看这里缺少什么吗?
谢谢
您需要在安装的应用中添加'haystack'
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
# Added.
'haystack',
# Then your usual apps...
'blog',
]
我刚刚做了一个 pip install git+https://github.com/django-haystack/django-haystack
,现在 version5
后端就在那里。
我正在使用 pipenv:
pipenv install git+https://github.com/django-haystack/django-haystack.git#egg=django-haystack
对 AlexW 答案的修改对我有用!
我按照 haystack 文档中的安装说明进行操作 http://docs.haystacksearch.org/en/master/tutorial.html#installation and the search engine installation https://django-haystack.readthedocs.io/en/master/installing_search_engines.html#elasticsearch
我已经安装了列为兼容的 Elasticsearch 5.1.16 并进行了设置,安装指南只有 Elasticsearch 版本 1 和 2 的示例,但说明支持版本 5。
所以我在设置里改成了版本5
'default': {
'ENGINE': 'haystack.backends.elasticsearch5_backend.Elasticsearch5SearchEngine',
'URL': 'http://127.0.0.1:9200/',
'INDEX_NAME': 'haystack',
},
}
我也查看了 repo,可以看到里面有版本 5
但是当我启动我的服务器时,我收到错误:
return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named 'haystack.backends.elasticsearch5_backend'
但是当我遍历文件夹结构时它没有安装版本 5 文件
root@4c1197e002e8:/myapp/# ls /usr/local/lib/python3.6/site-packages/haystack/backends/
__init__.py __pycache__/ elasticsearch2_backend.py elasticsearch_backend.py simple_backend.py solr_backend.py whoosh_backend.py
我使用的是与 git 存储库相同的版本,其中包含 5 个后端?
root@4c1197e002e8:/myapp/# pip freeze |干草 django-haystack==2.8.1
编辑: 它也已经安装到我安装的应用程序中:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.humanize',
'haystack',
...
有人帮我看看这里缺少什么吗? 谢谢
您需要在安装的应用中添加'haystack'
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
# Added.
'haystack',
# Then your usual apps...
'blog',
]
我刚刚做了一个 pip install git+https://github.com/django-haystack/django-haystack
,现在 version5
后端就在那里。
我正在使用 pipenv:
pipenv install git+https://github.com/django-haystack/django-haystack.git#egg=django-haystack
对 AlexW 答案的修改对我有用!