在包文件里面创建一个hello.py:
import click
CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help'])
@click.command()
@click.option('--count', default=1, help='Number of greetings.')
@click.option('--name', prompt='Your name', help='The person to greet.')
def hello(count, name):
"""Simple program that greets NAME for a total of COUNT times."""
for x in range(count):
click.echo('Hello %s!' % name)
@click.command()
@click.option('--name', prompt='home type', help='The person to greet')
def gethome(name):
click.echo(f'获取回家的路:{name}')
if __name__ == '__main__':
hello()
然后创建一个setup.py:
from setuptools import setup
"""
pip install --editable .
表示从本地或开发者模式安装项目,
-e, --editable <路径/网址>
"""
setup(
name='gethome',
version='0.1',
py_modules=['hello'],
install_requires=[
'Click',
],
entry_points={'console_scripts': [
'digest=hello:hello',
'goodbye=hello:gethome'
]},
)
执行命令开始编译:
python setup.py sdist build
??这样在当前目录的dist文件夹下, 就会多出一个tar.gz结尾的包了: 也可以打包一个wheels格式的包, 使用下面的命令就可以了:
python?setup.py?bdist_wheel --universal
?
使用twine上传到pypi仓库, 这样别人就可以下载你的文件了,先安装twine:
pip install twine twine upload dist/* 提示你输入前面注册的账户和密码, 上传成功就搞定了, 就可以使用pip 在任何地方安装了.
?
然后就可以发不到仓库里,让别人发布:
?
别人就可以通过pip install gethome 安装了。
安装完之后:输入goodbye,就可以获取回家的路?
参考文档:
在Pypi上发布自己的Python包_一叶孤舟YI的博客-CSDN博客_pypi发布
|