python cli如何发布到pypi(setup.py)

要发布一个 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=[],
)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值