我们有很多python脚本,并希望使用setuptools将其安装。
最后,导入我们的模块(安装它们之后)应该像这样:
import companyname.productA.moduleA
我们的结构初稿如下:
repository/
setup.py
companyname/
__init__.py
productA/
moduleA/
__init__.py
moduleA.py
moduleB/
__init__.py
moduleB.py
productB/
moduleA/
__init__.py
moduleA.py
moduleB/
__init__.py
moduleB.py
这似乎已经可以工作,但是它为整个集合生成了一个安装程序。我们还需要仅针对产品甚至模块进行安装,因为并非每个客户都需要所有东西。通过复制整个存储库并删除所有不应包含在安装程序中的产品/模块,似乎可以做到这一点。这种方法对我来说听起来不太好,所以我的第一个问题是:有更好的方法吗?
还有另一个问题:如何处理版本,作者,维护者?
setup.py当前看起来像这样:
setuptools.setup(
version='...',
author='...',
author_email='...',
maintainer='...',
maintainer_email='...',
packages=setuptools.find_packages(),
...
)
是否应该将所有模块的所有作者添加到setup.py中?是否可以为每个模块分配一个版本?还是我们需要为setup.py制作所有模块的组合版本号?如果可以,什么是最好的方法?