我有几个正在处理的包,我想在它们的 setup.py 脚本之间共享代码。有什么好的方法可以做到这一点,或者代码重复是我唯一的选择吗?
问问题
486 次
1 回答
8
通常setup.py
是分发不同包的入口点。因此,很难在这些包之间共享代码。
如果你在你的 中使用setuptools
(或者它的 fork,distribute
)setup.py
,你可以指定在安装你的包时必须安装的包setup_requires
。
不幸的是,你setup.py
的先被执行;解析该setup_requires
行后,将在本地安装列出的额外软件包,但这对于您的需求可能为时已晚。
解决方法是在调用定义条目Distribution
之前创建一个单独的对象:setup
setup_requires
import setuptools
setuptools.dist.Distribution(dict(setup_requires='yoursharedsetuppackage'))
# `setup_requires` is parsed and acted upon immediately; from here on out
# the yoursharedsetuppackage is installed and importable.
import yoursharedsetuppackage
setup(...)
于 2012-08-21T19:40:32.667 回答