我正在尝试将buildout用于 Python 包,该包在使用时依赖于 2 个扩展模块:dbus-python和 pygobject。两个模块都使构建失败:dbus-python缺少一个setup.py
文件,而pygobject
有一个文件,但不鼓励使用——应该使用configure、make、make install 。因此,buildout 无法在开发环境中设置这些依赖项。
这是我的buildout.cfg
:
[buildout]
develop = .
parts = eggs
[python]
recipe = zc.recipe.eggs
interpreter = python
eggs = foobar
包裹setup.py
在哪里包含:foobar
install_requires=['dbus-python', 'pygobject'],
在寻找解决方案时,我偶然发现了该配方z3c.recipe.scripts
及其利用系统范围安装的鸡蛋的能力。然而,当应用于我的buildout.cfg
..
[python]
recipe = z3c.recipe.scripts
include-site-packages = true
allowed-eggs-from-site-packages = pygobject, dbus-python
interpreter = python
eggs = foobar
..它似乎没有任何效果(仍然失败),尽管两个包(dbus,gobject)都安装在我的系统 Python 中。当我删除allowed-eggs..
线时也是如此。
我的问题:我在概念层面上是否有问题,或者我的buildout.cfg
?
我知道有一个使用configure、make、make installzc.recipe.cmmi
安装鸡蛋的配方。但是,在我的情况下,简单地引用系统 Python 鸡蛋就足够了。我不需要由 buildout 生成的 100% 可重现的环境。此外,dbus-python和pygobject默认安装在大多数 Linux 桌面系统上,即打算使用的环境。foobar