将setup.py升级为声明性元数据

setup-py-upgrade的Python项目详细描述


Build Status

设置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.pysetup.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,然后将它们粘贴回文件中。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaHTTP。请求侦听器   java Selenium webdriver遍历行并仅检索某些列   JavaSpring批处理在启动运行方法之前启动SimpleZoblancher运行方法   maven如何使用Maven2从javadoc生成java源代码?   java为什么我的Unicodont(Slick2D)不画画?   java取消对未使用对象的引用是否会提高冗长方法的性能?   java可执行Jar的画布比使用Eclipse Runner的小   为什么我的for循环在Android studio中与eclipse(java)产生不同的结果   java代码段字节数组到端口号   java在DynamoDB范围键中插入项   java 安卓。看法WindowManager$BadTokenException:无法添加窗口,您的活动正在运行吗?   java我想要两个列表视图同时滚动   java测试数据分离   java Saxon:每次重新部署后都需要重新启动Glassfish