将setup.py升级为声明性元数据
setup-py-upgrade的Python项目详细描述
设置py升级
将setup.py升级为声明性元数据
安装
pip install setup-py-upgrade
cli
有关最新用法,请参阅帮助:
$ setup-py-upgrade --help usage: setup-py-upgrade [-h] directorypositional arguments: directoryoptional arguments: -h, --help show this help message and exit
传递要转换的存储库的根目录
脚本在运行时覆盖setup.py
和setup.cfg
样本输出
$ setup-py-upgrade ../pre-commit ../pre-commit/setup.py and ../pre-commit/setup.cfg written!$ tail -n999 ../pre-commit/setup.{py,cfg}==> ../pre-commit/setup.py <==from setuptools import setupsetup()==> ../pre-commit/setup.cfg <==[metadata]name = pre_commitdescription = A framework for managing and maintaining multi-language pre-commit hooks.long_description = file: README.mdlong_description_content_type = text/markdownurl = https://github.com/pre-commit/pre-commitversion = 1.14.2author = Anthony Sottileauthor_email = asottile@umich.educlassifiers = License :: OSI Approved :: MIT License Programming Language :: Python :: 2 Programming Language :: Python :: 2.7 Programming Language :: Python :: 3 Programming Language :: Python :: 3.6 Programming Language :: Python :: 3.7 Programming Language :: Python :: Implementation :: CPython Programming Language :: Python :: Implementation :: PyPy[options]packages = find:install_requires = aspy.yaml cfgv>=1.4.0 identify>=1.0.0 importlib-metadata nodeenv>=0.11.1 pyyaml six toml virtualenv futures; python_version<"3.2" importlib-resources; python_version<"3.7"[options.packages.find]exclude = tests* testing*[options.entry_points]console_scripts = pre-commit = pre_commit.main:main pre-commit-validate-config = pre_commit.clientlib:validate_config_main pre-commit-validate-manifest = pre_commit.clientlib:validate_manifest_main[options.package_data]pre_commit.resources = *.tar.gz empty_template_* hook-tmpl[bdist_wheel]universal = True
输出使用什么版本的setuptools/pip?
pip>=1.5
(从轮子安装时)- 发布日期:2014-01-02
setuptools>=30.3
(从源代码构建时)- 发布日期:2016-12-08
virtualenv>=15.2
(通过--no-download
获得足够的设置工具)- 发布日期:2018-03-21
不支持的内容
声明性元数据不支持ext_modules
或setuptools插件--
它们必须留在setup.py
中。如果要转换使用
其中,您将看到如下消息:
$ setup-py-upgrade ../future-breakpoint/ ext_modules= is not supported in setup.cfg
若要转换这些结构,请暂时从setup.py
中移除有问题的结构,
然后运行setup-py-upgrade
,然后将它们粘贴回文件中。