gpt4 book ai didi

python - 自动发现 setup.py 中的 Python 子包

转载 作者:太空宇宙 更新时间:2023-11-04 04:11:35 27 4
gpt4 key购买 nike

我有以下项目结构:

project_dir
├── my_package
│ ├── subpackage
│ │ ├── bar.py
│ │ └── __init__.py
│ ├── foo.py
│ └── __init__.py
├── not_wanted_package
│ ├── other.py
│ └── __init__.py
└── setup.py

我想创建包含 my_package(及其所有子包)的 Python 包,但不是 not_wanted_pa​​ckage。使用 python3 setup.py sdist bdist_wheel

以下 setup.py 工作正常:

from setuptools import setup
setup(
name='my_package',
version='1.0',
packages=['my_package', 'my_package.subpackage']
)

但是当我添加/删除/重命名任何子包时,我将不得不手动更新这个文件。我可以使用 setuptools 提供的函数,但 find_packages() 会发现所有包(包括 not_wanted_pa​​ckage)。另一方面,find_packages('my_package') 仅发现 subpackage

有没有什么方法可以使用 find_packages()find_namespace_packages() 自动发现 my_package 它的子包?

最佳答案

from setuptools import setup, find_packages

setup(

packages=find_packages(include=['my_package']),

)

find_packages 中使用关键字 include 时,仅包含此类包。未列出所有其他软件包,包括 not_wanted_pa​​ckage

或者您可以使用 exclude=['not_wanted_pa​​ckage']

排除它

关于python - 自动发现 setup.py 中的 Python 子包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56201171/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com