【发布时间】:2019-05-18 17:10:24
【问题描述】:
我的项目结构如下:
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_package。使用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_package)。另一方面,find_packages('my_package') 仅发现 subpackage。
有没有什么方法可以使用find_packages()或find_namespace_packages()自动发现my_package和它的子包?
【问题讨论】:
标签: python setuptools setup.py