来自一个源树的多个分布

问题描述 投票:1回答:1

我有一个看起来像这样的源代码树:

/app/backend/module.py
/app/cli/module.py
/app/common/module.py

现在我想构建三个包,app-backendapp-cliapp-common,这应该是可分发的并且可以单独使用。我想将代码保存在一个存储库中,因为我想把事情放在一起,而且无论如何还没有那么多代码。

使用setuptools(或者是否更适合),最标准和面向未来的方法是什么?我不是为Python 2.7等构建的,如果它只适用于最新的工具,我会没问题的。

python python-3.x setuptools python-packaging
1个回答
1
投票

您可以在单个setup()脚本中拥有多个setup.py命令

在这种情况下,您可以使用单个/app/setup.py脚本

from setuptools import setup, find_packages

version = '1.0.0'

setup(
    name='app-backend',
    version=version,
    packages=find_packages(exclude=['cli', 'common']),
)

setup(
    name='app-cli',
    version=version,
    packages=find_packages(exclude=['backend', 'common']),
)

setup(
    name='app-common',
    version=version,
    packages=find_packages(exclude=['backend', 'cl']),
)

运行python setup.py COMMAND将构建/安装/打包所有三个python包

© www.soinside.com 2019 - 2024. All rights reserved.