gpt4 book ai didi

python - python项目中setup.py和setup.cfg有什么区别

转载 作者:行者123 更新时间:2023-12-04 05:46:45 26 4
gpt4 key购买 nike

需要知道 setup.py 和 setup.cfg 有什么区别。两者都在 openstack 项目中被广泛使用

最佳答案

传统上,setup.py已被用于构建 Python 包,即

python setup.py build
像任何旧的 Python 文件一样, setup.py可以包含很多代码。然而,在大多数情况下,它纯粹是声明性的,只是简单地列出了包属性,例如,
from setuptools import setup

setup(
name="foobar",
version="0.1.0",
author="John Doe",
# ...
)
事实上,有些人认为在 setup.py 中放太多逻辑是不好的风格。 .为了反射(reflect)这一点, setup.cfg (这是设计上的声明性)在包装中变得更受欢迎:
[metadata]
name = foobar
version = 0.1.0
author = John Doe
# ...
这样做的好处是打包软件(例如 setuptools)不需要评估 Python 文件来获取元数据,而是可以简单地解析配置文件。
您可以添加一个虚拟 setup.py对此,
from setuptools import setup

if __name__ == "__main__":
setup()
或全满 PEP 517/ 518而是添加一个 pyproject.toml .
[build-system]
requires = ["setuptools>=42", "wheel"]
build-backend = "setuptools.build_meta"
然后,您可以使用 pypa-build 构建您的项目。 ( pip install build ) 与
python3 -m build --sdist --wheel .
话虽如此,目前(2019/2020 年)Python 打包软件的前景非常活跃,尚不清楚 future 定义 Python 包的首选方法是哪种。例如,有 PEP 621建议将包元数据放入 pyproject.toml .

关于python - python项目中setup.py和setup.cfg有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39484863/

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