Python 如何打包和部署CLI应用程序

Python 如何打包和部署CLI应用程序

基于我们的界面,我们有两种类型的应用程序CLI(命令行界面)应用程序和GUI(图形用户界面)应用程序。

命令行应用程序或控制台应用程序是可以通过shell或命令行通过文本界面访问的应用程序,它们接受用户以文本格式输入。

不同于提供了包含按钮、文本框和图标的图形界面的GUI应用程序,供用户访问底层应用程序。

Python是一种流行的用于开发CLI应用程序的编程语言,尽管打包和分发这样的应用程序的过程有些困难。我们可以使用内置和外部工具轻松实现这一点。

让我们了解一下使用Python打包和部署CLI应用程序涉及的所有步骤。

步骤1:创建一个Python包

首先,我们必须创建一个Python包来创建一个CLI应用程序。包是一个包含 __init__.py 文件的文件夹,这表示这个文件夹是一个Python包。当有人安装这个CLI应用程序时,这将非常有用。

我们可以用任何名称创建一个文件夹作为我们的包,并在其中添加2个文件,第一个文件是 __init__.py ,第二个文件是 my_cli_app.py。

在这个例子中,我们尝试创建一个名为 my_package 的包,并添加一个名为 my_cli_app.py 的文件,其中包含我们的CLI应用程序的代码。

my_package/
 __init__.py
 my_cli_app.py

步骤2:定义CLI入口点

在第二步中,我们将定义一个命令行界面入口点或CLI入口点。入口点是在从CLI运行应用程序时首先执行的Python函数。

click库是一个非常流行的Python库,通常用于创建CLI应用程序。我们必须导入Python的click库来创建一个入口点。

在这个例子中,我们使用了上述提到的click库来定义了一个CLI入口点。@click.command()装饰器告诉click这个函数是一个CLI命令。@click.option()装饰器定义了一个命令行选项,允许用户向命令传递一个参数。

import click
@click.command()
@click.option('--name', default='World', help='The person to greet.')
def hello(name):
   click.echo(f'Hello, {name}!')
if __name__ == '__main__':
   hello()

步骤3:将依赖项添加到 setup.py 文件中

第三步是将我们的依赖项添加到 setup.py 文件 中。这些依赖项是我们的 CLI 应用程序所需的。 setup.py 文件Python 用于构建和安装我们的 CLI 应用程序的文件。为了添加依赖项,我们将使用 setuptools.setup() 函数中的 install_requires 参数。

在这里,我们使用 install_requires 参数将 click 添加为一个依赖项。我们还使用 entry_points 参数定义了我们的 CLI 应用程序的入口点。console_scripts 入口点告诉 Python 这是一个命令行脚本,my_cli_app 命令被定义为入口点。

from setuptools import setup, find_packages
setup(
   name='my_package',
   version='0.1',
   packages=find_packages(),
   install_requires=[
      'click',
   ],
   entry_points='''
      [console_scripts]
      my_cli_app=my_package.my_cli_app:hello
      ''',
)

步骤4:构建和分发我们的包

在打包和部署基于Python的CLI应用程序的最后一步中,我们需要构建和分发我们的包。使用“setuptools”库,我们可以轻松地构建和分发我们的包。

要构建我们的包,请运行以下命令-

$ python setup.py sdist bdist_wheel

上述命令将在dist目录或文件夹中创建我们的软件包的源码分发(sdist)和二进制分发(bdist_wheel)。源码分发(sdist)包含源代码和资源,而二进制分发包含编译代码,并可以在不同的平台上安装。

要分发我们的软件包,我们需要使用twine库将其上传到Python软件包索引(PyPI)。为此,我们必须在PyPI上拥有一个账户。因此,我们需要在PyPI上创建一个账户,然后使用pip安装twine库。-

$ pip install twine

接下来,我们可以使用以下命令将我们的软件包上传到PyPI –

$ twine upload dist/*

这个命令将把dist/目录中的所有发布版本上传到PyPI。

步骤5:安装和使用我们的软件包

要安装我们的命令行应用程序软件包,用户可以使用pip从PyPI下载和安装或者安装我们的软件包。

$ pip install my_package

一旦安装了软件包,用户可以使用entry_points参数中定义的CLI命令。在下面的片段中,我们将一个参数作为名称传递给–name选项,该参数将由hello函数使用,以打印带有给定名称的问候消息。这使得应用程序更加用户友好。

$ my_cli_app --name Alice
Hello, Alice!

结论

在这篇文章中,我们学习了如何使用Python打包和部署命令行应用程序。我们了解了什么是CLI应用程序,它的用处是什么以及创建和部署CLI应用程序所需的所有步骤。我们可以按照文章中所写的每一个步骤进行操作,然后可以轻松创建Python包,定义CLI入口点,将依赖项添加到setup.py文件中,创建和分发包,并轻松安装和使用我们的包。通过遵循上述步骤,我们可以确保我们的应用程序易于打包和部署,并且其他程序员可以轻松使用。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程