click Setuptools Integration

    技术2022-08-01  85

    https://click.palletsprojects.com/en/7.x/setuptools/

    介绍

    用click和setuptools自动生成命令行

    工程的结构如下:

    yourscript.py setup.py

    yourscript.py

    import click @click.command() def cli(): """Example script.""" click.echo('Hello World!')

    setup.py

    from setuptools import setup setup( name='yourscript', version='0.1', py_modules=['yourscript'], install_requires=[ 'Click', ], entry_points=''' [console_scripts] yourscript=yourscript:cli ''', )

    entry_points中的console_scripts中每一行就是一个命令行,yourscript=yourscript:cli中的第一个yourscript是命令行脚本的名称,第二个yourscript是模块名,第三个是cli是模块中的方法

    测试脚本

    $ virtualenv venv $ . venv/bin/activate $ pip install --editable . $ yourscript Hello World!

    将命令行放在包里面

    如果脚本增多,并想放在包里面,则可以按照下面的来排列:

    yourpackage/ __init__.py main.py utils.py scripts/ __init__.py yourscript.py from setuptools import setup, find_packages setup( name='yourpackage', version='0.1', packages=find_packages(), include_package_data=True, install_requires=[ 'Click', ], entry_points=''' [console_scripts] yourscript=yourpackage.scripts.yourscript:cli ''', )
    Processed: 0.016, SQL: 9