安装django-haystack

7

非常简单的问题:我按照 haystack 的“入门”文档(使用 whoosh;我第一次使用 pip 安装了 python-whoosh 和 haystack)操作,但是我无法运行 python manage.py rebuild_index。我收到以下错误:

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

我在settings.py中已将'haystack'列入INSTALLED_APPS,因此此解决方案在我这里似乎无效。当我运行"import haystack"时,也没有导入错误,所以它是存在的。我尝试在现有项目上以及专门为此创建的全新对象上进行操作,但仍无法使其工作。
但是,当我在python manage.py shell之后导入haystack并尝试haystack.__version__时,会出现"AttributeError: 'module' object has no attribute 'version'"的错误。如果我尝试haystack.management,也会出现类似的错误:没有管理属性。
肯定是我错过了某些超级简单的东西。感谢您阅读!
7个回答

17

你可能安装了错误的东西吗?今天我也犯了这个(尴尬的)错误。请确保安装的是 'django-haystack',而不仅仅是 'haystack' (并且您需要删除 'haystack',因为它与 'django-haystack' 冲突)。


2
  1. 你的Python路径中是否包含了haystack?(可以通过 PYTHONPATH 环境变量或者 sys.path Python列表实现)

  2. 你是否执行了 python manage.py syncdb 命令?

  3. 在执行了 import haystack 命令之后,是否可以正常运行 python manage.py shell 命令?

  4. 在执行了 import haystack 命令之后,输入 haystack.__version__ 命令,结果是什么?

  5. 在同一个shell中,输入以下命令。是否有任何错误信息?

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

根据您的编辑:似乎导入是误导性的!我曾经在导入时出现错误并进行了修复。现在出现以下情况:(1)是的:/usr/lib/python2.6/dist-packages在路径中,并且“haystack”文件夹就在其中。(2)是的。(3)是的。(4)我收到一个错误!“AttributeError:'module'对象没有'version'属性”(5)相同的错误:“'module'对象没有'management'”属性。 - jlugo
您是否尝试过在代码中输入 import haystack,然后输入 help(haystack) 进行查询?抱歉回复晚了,我没有收到通知。 - Mike DeSimone

1

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

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

希望这能帮到你!


0

我曾经遇到过同样的问题 - 不知道为什么,pip中的haystack版本相当老旧和过时(截至今天为止是v0.6)。要使用django-haystack,请查看v1. source

它可以通过简单的编译和安装来完成。

python setup.py build
python setup.py install

希望这能有所帮助!

嗯 - 像David一样,我安装了“haystack”而不是“django-haystack”,有点抱怨。 - danodonovan

0

我刚遇到了同样的问题,而且我在我的settings.py中没有设置HAYSTACK_SITECONF。


0

不要使用 python manage.py rebuild_index,而是尝试使用 ./manage.py rebuild_index


0

只需执行 pip uninstall haystack 即可。

pip install django-haystack

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接