我正在开发几个软件包,希望能够在它们的setup.py脚本之间共享代码。有没有好的方法可以做到这一点,或者说代码重复是唯一的选择?
我正在开发几个软件包,希望能够在它们的setup.py脚本之间共享代码。有没有好的方法可以做到这一点,或者说代码重复是唯一的选择?
setup.py
是分发独立软件包的入口点。因此,在这些软件包之间分享代码变得困难。setup.py
中使用setuptools
(或者它的分支distribute
),你可以使用setup_requires
条目指定安装你的软件包时必须安装的软件包。setup.py
会首先被执行;一旦解析了setup_requires
行,列出的额外软件包将被安装到本地,但这可能对你的需求来说太晚了。setup
之前创建一个单独的Distribution
对象,该对象定义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(...)
setup_requires
中包含numpy
时进行编译。有没有一种使用pip
安装numpy的方法呢? - aaragonnumpy
来创建设置的Python代码),那么就这样做吧。 - Martijn Pietersinstall_requires
,而不是setup_requires
。setup_requires
是用于在安装脚本本身中需要使用的依赖项。 - Martijn Pieters