我维护的包中的setup.py文件使用另一个包中的代码来构建扩展:
from setuptools import setup, find_packages
from mydependence import build_ext
...
setup(
name='mypackage',
version='1.0.0',
...
setup_requires = [
'mydependence', # is this being checked properly?
],
...
install_requires = [
'mydependence',
],
...
)
我想用 构建当前包zc.buildout,所以我创建了一个简单的buildout.cfg文件,例如:
[buildout]
parts = python
eggs = mypackage
[python]
recipe = zc.recipe.egg
interpreter = python
eggs = ${buildout:eggs}
不幸的是,这并没有像我预期的那样工作 - 当我执行./bin/buildout和setup.py阅读时,它抱怨mydependence没有找到。当 buildout 运行 mysetup.py时,它sys.path不知道安装在目录下的包eggs(除了setuptools它自己!)。显然,“eggs”和“develop-eggs”中./bin/buildout的包在运行包的setup.py.
问题是:如何使它工作?