将setuptools setup.py转换为setup.cfg
setuptools-py2cfg的Python项目详细描述
从版本30.3.0开始,setuptools supports通过 setup.cfg文件。这个脚本有助于将现有的 setup.cfg采用setuptools所需的格式。
用法
只需将setuptools-py2cfg指向setup.py文件或在目录中运行它 包含setup.py。例如,给定以下setup.py:
fromsetuptoolsimportsetup,find_packagesclassifiers=['Development Status :: 5 - Production/Stable','Programming Language :: Python :: 2.7','Programming Language :: Python :: 3','Programming Language :: Python :: 3.3','Programming Language :: Python :: 3.4','Programming Language :: Python :: 3.5','Programming Language :: Python :: 3.6','Intended Audience :: Developers','Topic :: Software Development :: Libraries','License :: OSI Approved :: BSD License',]extras_require={'tests':['tox >= 2.6.0','pytest >= 3.0.3',],'devel':['check-manifest >= 0.35','readme-renderer >= 16.0',]}kw={'name':'ansimarkup','version':'1.3.0','description':'Produce colored terminal text with an xml-like markup','long_description':open('README.rst').read(),'author':'Georgi Valkov','author_email':'georgi.t.valkov@gmail.com','license':'Revised BSD License','keywords':'ansi terminal markup','url':'https://github.com/gvalkov/python-ansimarkup','classifiers':classifiers,'install_requires':'colorama','extras_require':extras_require,'packages':find_packages(),'zip_safe':True,}if__name__=='__main__':setup(**kw)
运行setuptools-py2cfg.py将打印:
[metadata]name=ansimarkupversion=1.3.0author=Georgi Valkovauthor_email=georgi.t.valkov@gmail.comlicense=Revised BSD Licensedescription=Produce colored terminal text with an xml-like markupkeywords=ansi, terminal, markupurl=https://github.com/gvalkov/python-ansimarkuplong_description=file: README.rstclassifiers= Development Status :: 5 - Production/Stable Programming Language :: Python :: 2.7 Programming Language :: Python :: 3 Programming Language :: Python :: 3.3 Programming Language :: Python :: 3.4 Programming Language :: Python :: 3.5 Programming Language :: Python :: 3.6 Intended Audience :: Developers Topic :: Software Development :: Libraries License :: OSI Approved :: BSD License[options]packages=find:zip_safe=Trueinstall_requires=colorama[options.extras_require]tests= tox >= 2.6.0 pytest >= 3.0.3devel= check-manifest >= 0.35 readme-renderer >= 16.0
有几个非必需的选项可以控制生成的ini文件的格式:
usage: setuptools-py2cfg.py [-h] [-t int] [-i int] [-a] [path] converts an existing setup.py file to a setup.cfg in the format expected by setuptools positional arguments: path path to setup.py file (default: ./setup.py) optional arguments: -h, --help show this help message and exit -t int, --dangling-list-threshold int lists longer than this many characters are converted to a dangling list (default: 40) -i int, --dangling-list-indent int number of spaces to use when indenting dangling lists (default: 4) -a, --always-use-dangling-lists use dangling lists everywhere (default: False)
请记住,setup.py文件只需调用 ^将所有元数据迁移到setup.cfg后仍需要{tt10}$。
安装
最新稳定版本的setuptools-py2cfg可以从pypi安装:
$ pip install setuptools-py2cfg
待办事项
- 以ini格式处理entry_scripts。
- 写一两个测试。
许可证
根据Revised BSD License条款发布。