https://click.palletsprojects.com/en/7.x/setuptools/
用click和setuptools自动生成命令行
工程的结构如下:
yourscript.py setup.pyyourscript.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是模块中的方法
如果脚本增多,并想放在包里面,则可以按照下面的来排列:
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 ''', )