python setuptools setup.cfg:在构建目录中包含主包和子包

2024-04-15

我想使用以下命令为我的 python 软件创建一个 pip 包安装程序.cfg https://setuptools.pypa.io/en/latest/userguide/declarative_config.html文件。我的程序目前的结构如下:

mypkg
├── setup.cfg
└── src
    ├── subpkg
    │   └── __init__.py
    ├── __init__.py
    └── file_1.py
    ...

到目前为止,使用安装工具find_packages()函数允许我将主包和子包添加到我的构建包中。当使用setup.cfg但是,我无法再将两者都包含在我的包中。这文档 https://setuptools.pypa.io/en/latest/userguide/package_discovery.html#finding-simple-packages显示可以通过添加选项来包含子包

[options]
packages = find:
package_dir =
    =src

[options.packages.find]
where = src
include = *

但在我的例子中,这仅包括子包文件,而不包括主包文件。有没有办法让我包含所有文件,同时仍然使用 setup.cfg 安装文件?


使用示例中的目录布局,我发现了一些有效的配置。这两个都允许我从src包装和src.subpkg.

[options]
packages=find:

另一个不使用find: 根本没有功能。

[options]
packages =
    src
    src.subpkg

根据setuptools文档https://setuptools.pypa.io/en/latest/userguide/package_discovery.html https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

如果您的包不在存储库的根目录中,您还需要配置 package_dir:

并且自从src包位于存储库的根目录中,指定package_dir没有必要。

这实际上类似于find_packages里面的函数setup.py文件。当不带参数调用时,find_packages()在项目中,它会自动找到所有顶级包和子包。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python setuptools setup.cfg:在构建目录中包含主包和子包 的相关文章

随机推荐