安装django-haystack

7 投票
7 回答
4786 浏览
提问于 2025-04-16 15:51

这是个超级简单的问题:我看了haystack的“入门”文档(使用whoosh;我通过pip安装了python-whoosh和haystack,这是我第一次用pip),但是我就是无法运行命令python manage.py rebuild_index。我遇到了这个错误:

python manage.py rebuild_index
Unknown command: 'rebuild_index'
Type 'manage.py help' for usage

我在settings.py的INSTALLED_APPS里确实有列出'haystack',所以这个解决方案对我来说似乎不管用。我在运行“import haystack”时也没有导入错误,所以它确实存在。我在我现有的项目上试过,也在一个全新创建的项目上试过,但就是无法让它工作。

不过,当我在运行python manage.py shell后导入haystack,并尝试haystack.__version__时,我得到了“AttributeError: 'module' object has no attribute 'version'”。如果我尝试haystack.management,也会出现类似的错误:它没有management属性。

一定是我漏掉了什么超级简单的东西。谢谢你阅读这个!

7 个回答

1

我遇到了和你一样的错误,后来通过删除旧的 .egg 文件,然后直接安装最新版本来解决的。你可以使用 easy_install 命令:

easy_install https://github.com/toastdriven/django-haystack/zipball/v1.2.4

希望这能帮到你!

2
  1. 你的Python路径里有haystack的路径吗?(可以是PYTHONPATH这个环境变量,或者是sys.path这个Python列表。)

  2. 你有没有运行过python manage.py syncdb这个命令?

  3. 运行python manage.py shell后,再输入import haystack,这样能成功吗?

  4. 在输入import haystack之后,输入haystack.__version__,你能得到什么结果?

  5. 在同一个命令行里,输入以下内容。有没有出现错误?

    • haystack.management.commands
    • haystack.management.commands.rebuild_index
    • haystack.management.commands.rebuild_index.Command.help
17

你是不是装错东西了?我今天就遇到这种尴尬的事。确保你安装的是'django-haystack',而不是单纯的'haystack'(而且你还得先把'haystack'卸载掉,因为它和'django-haystack'会冲突)。

撰写回答