要发布一个 Python CLI 工具,可以按照以下步骤进行:
编写命令行工具的代码。使用 argparse 库来解析命令行参数和选项,并编写核心逻辑以执行相应的操作。
将代码上传至 PyPI。PyPI 是 Python 包索引,使用它可以方便地分享和安装 Python 包和工具。首先,需要在 https://pypi.org 上注册一个账号。然后,在本地创建一个名为 setup.py 的文件,其中包含有关您的项目的元数据和依赖项信息。最后,使用 twine 工具将包上传到 PyPI:
$ pip install twine
$ python setup.py sdist bdist_wheel
$ twine upload dist/*
添加可执行权限并安装。要使您的 CLI 工具可以在终端中运行,需要:
在 setup.py 中指定 entry_points,以便安装时创建可执行文件。
在 scripts 目录下添加一个名为 cli 的脚本,其中包含 CLI 工具的执行代码以及必要的 shebang 行(例如 #!/usr/bin/env python)。
运行安装命令:pip install -e .。这将安装您的 CLI 工具,并将主可执行文件放入 PATH 中,使其可以从任何目录中使用。
现在,您的 Python CLI 工具就已经准备好了!您可以通过在命令行中输入命令来测试它。例如:
$ mycli --version
1.0.0
补充样板【setup.py】:
#!/usr/bin/env python
# Copyright (c) WFBI. All rights reserved.
from setuptools import find_packages, setup
import mycli.utils as utils
from mycli.config import version
setup(
name='mycli',
version=version.version,
description='mycli',
long_description= utils.get_file_content("README.md"),
long_description_content_type='text/markdown',
author='mycli Contributors',
author_email='myname@example.com',
keywords='mycli, wfbi',
url='https://github.com/xxx/xxxx',
packages=find_packages(exclude=('configs', 'tools', 'demo')),
include_package_data=True,
classifiers=[
'Development Status :: 3 - Alpha',
],
license='Apache License 2.0',
install_requires=utils.parse_requirements('requirements/runtime.txt'),
extras_require={
'tests': utils.parse_requirements('requirements/tests.txt'),
'build': utils.parse_requirements('requirements/build.txt'),
'optional': utils.parse_requirements('requirements/optional.txt'),
},
entry_points={
'console_scripts': [
'mycli = mycli.cli:main'
]
},
ext_modules=[],
)