1、entry_points
如果你经常学习开源的代码,对这个东西应该不会陌生,它经常出现在setup.py文件中,那么它是起什么作用的呢?
假设有这样一个场景,你自己用python写了一个工具脚本,这个脚本可以初始化数据库,脚本名字叫hibiscus.py ,很不错的小工具,但是很快你发现,每次运行它都需要执行命令python hibisucs.py,这还是在你切换到脚本所在目录的情况下。那么能不能像执行系统命令那样去执行这个脚本呢?
答案是可以的,我们在setup.py脚本里配置entry_points就可以实现这个目标
2、hibiscus.py
新建一个文件夹,命名为hibiscus,并在里面新建__init__.py脚本
新建一个名为hibiscus.py的脚本,内容为
# coding=utf-8
import click
@click.group()
def cli():
pass
@cli.command()
@click.option('--dbname', default='test', prompt='db name')
def initdb(dbname):
print 'init',dbname
if __name__ == '__main__':
cli()
3、setup.py
新建一个名为setup.py的脚本
# coding=utf-8
from setuptools import setup, find_packages
setup(