zc.buildout,将需求安装到parts目录中?

时间:2010-09-15 17:41:43

标签: python buildout

我正在尝试编写一个zc.buildout软件包,它将的一些的需求安装到parts目录中。知道如何做到这一点?

原因是因为zc.buildout应用程序本身正在分发,但我的软件包的某些部分不能使用它。所以我想将它们安装到项目/部件目录中,以便在本地使用它们,但是当应用程序被分发时,它们就会被遗忘。

为了进一步说明,请使用以下setup.py snipplet:

include_package_data = True,
install_requires = [
    'some_package',
    'some_other_package',
],
entry_points = {

现在,如果我使用它,some_packagesome_other_package将安装到分布式应用程序部分。然后,当应用程序被分发时,那些应该会发生,这不应该发生。请注意,这两个包是来自pypi的任何包,我无法控制它们的代码。

有什么想法吗?

目前我正在尝试自己下载压缩包,并将它们拆包到部件目录中。这应该可行,但显然它缺少包装系统的大部分功能,因为我静态链接到包的单个版本。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

您可以使用omelette recipe解压缩所有鸡蛋并将其放入part目录中的一个目录中。示例buildout.cfg

[buildout]
parts = my_omelette
eggs = 
    BeautifulSoup
    django-registration
    other_package_from_pypi

unzip = true

[my_omelette]
recipe = collective.recipe.omelette
eggs = ${buildout:eggs}

这将安装所有鸡蛋并将其解压缩到目录parts / my_omelette