我想使用以下命令为我的 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(使用前将#替换为@)