我正在尝试将开发中的当前 Django 项目转换为使用 zc.buildout 到目前为止,我已经弄清楚了除了 Haystack 之外的所有位。
Haystack 源代码在 GitHub 上可用,但我不想强迫用户安装 git。一个合适的选择似乎是从这里获取一个 tarball
那个 tarball 包含一个 setuptools setup.py,看起来它应该很容易得到 buildout 来安装它。哈!
我正在尝试将开发中的当前 Django 项目转换为使用 zc.buildout 到目前为止,我已经弄清楚了除了 Haystack 之外的所有位。
Haystack 源代码在 GitHub 上可用,但我不想强迫用户安装 git。一个合适的选择似乎是从这里获取一个 tarball
那个 tarball 包含一个 setuptools setup.py,看起来它应该很容易得到 buildout 来安装它。哈!
我想出了这个,但没有将其发布到 PyPI。(实际上并没有 django-haystack 标记的发布版本,因此发布到 PyPI 似乎不干净。这是维护者应该并且可能会自己处理得更好的东西。)
相关部分如下:
[haystack]
recipe = collective.recipe.distutils
url = http://github.com/ephelon/django-haystack/tarball/master
我必须创建一个项目的分支才能zip_safe=False
从 setup.py 中删除。一旦我完成了上述工作,即使是上述网址发送的重定向也是如此。
这目前对我有用,无需分叉。
[django-haystack]
recipe = zerokspot.recipe.git
repository = git://github.com/toastdriven/django-haystack.git
as_egg = true
[whoosh]
recipe = zerokspot.recipe.git
repository = git://github.com/toastdriven/whoosh.git
branch = haystacked
as_egg = true
确保将位置添加到您的extra-paths
.
好吧,如果您不想安装 GIT,则无法检查它。所以你必须下载一个版本。但是没有。理论上,直接指向分发的查找链接应该可以工作。在这种情况下它不会,可能是因为您没有链接到文件,而是链接到从主干生成文件的页面。所以那个选项就没有了。
所以,你需要贿赂某人来发布,或者自己制作。您可以发布一个版本并将其粘贴在某个文件服务器中,然后使用构建中的查找链接指向正确的位置。
或者,因为似乎没有其他人将 Haystack 发布到 PyPI,所以你可以做到!(但请善待并告诉开发人员并授予他们对包的管理员权限)。
似乎他们已经修复了该软件包以从 tarball 中工作。James 的 fork 现在无法正常工作,但您可以使用相同的配方将标准 url 传递给它:
[haystack]
recipe = collective.recipe.distutils
url = http://github.com/toastdriven/django-haystack/tarball/master
这对我有用,并且 100% 没有黑客攻击。