如果你有一个setup.py
文件,你可以通过如下命令获取包的名称:
C:\some\dir>python setup.py --name
以下内容将在命令行中打印包的名称。
为了遵循最佳实践,我试图通过将所有之前静态内容都放在 setup.cfg
中来迁移离开 setup.py
。
但是我们的构建管道依赖于能够调用 python setup.py --name
。我正在寻找一种重写管道的方法,以使我不需要创建一个 setup.py
文件。
当你有 setup.cfg
但没有 setup.py
文件时是否有获取包名称的方法?
setuptools.setup()
。显式创建一个调用无参setup()
方法的 setup.py 文件实际上会读取 setup.cfg,并足以获取名称,但我仍然想知道是否有更好的方法。 - myoungbergsetup.py
是一种有效的解决方案。否则,使用解析。 setuptools 使用标准库中的ConfigParser
读取setup.cfg
,因此,如答案所述,这是一种有效的解决方案。很快,setuptools 将支持 PEP 621 标准,该标准使用 TOML 格式,并将向 Python 的标准库(Python 3.11)添加一个 TOML 解析器,因此可以轻松地从几乎任何构建后端(不仅仅是 _setuptools_)提取信息。 - sinorocpyproject.toml
)获取元数据(名称等),则可以构建某种 PEP 517 “构建前端”,专门用于此目的,并且只关注prepare_metadata_for_build_wheel()
部分的事情,也许pep517
库 可以帮助实现。 - sinorocpython -c 'import setuptools; setuptools.setup()' --name
命令。 - sinoroc