如何使用Python打包和部署命令行界面应用程序

如何使用Python打包和部署命令行界面应用程序

根据界面类型,我们有两种应用程序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
Bash

步骤2:定义CLI入口点

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

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

在此示例中,我们使用上述Python的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()
Bash

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

第三步是将我们的依赖项添加到setup.py文件中。CLI应用程序需要这些依赖项。setup.py文件用于构建和安装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
      ''',
)
Bash

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

现在,我们已经准备好构建和分发我们的软件包了。要构建软件包,我们需要使用以下命令:

python setup.py sdist bdist_wheel
Bash

此命令将在dist目录中创建一个源分发包和一个wheel分发包。分发包是由Python打包工具创建的压缩文件,其中包含我们的软件包及其依赖项。

部署CLI应用程序

要安装我们的CLI应用程序,我们需要使用以下命令:

pip install my_package
Bash

此命令将安装我们的软件包及其依赖项。接下来,我们可以从命令行运行我们的应用程序:

my_cli_app --name Alice
Bash

此命令将从命令行运行我们的应用程序,并使用“Alice”作为名称参数运行hello函数。

结论

用Python创建CLI应用程序是一项非常有趣和有用的任务。使用Python的内置和外部工具,我们可以轻松地打包和分发我们的应用程序。 CLI应用程序不需要复杂的图形用户界面,因此很容易编写和维护。如果您想学习如何使用Python开发CLI应用程序,那么本文可以作为入门指南。

封装和部署基于Python的CLI应用的最后一个步骤是构建并分发软件包。通过使用“setuptools”库,我们可以轻松地构建和分发软件包。

要构建软件包,请运行以下命令−

$ python setup.py sdist bdist_wheel
Bash

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

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

$ pip install twine
Bash

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

$ twine upload dist/*
Bash

此命令将上传dist/目录中的所有版本到PyPI。

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

要安装我们的CLI应用程序软件包,用户可以使用pip从PyPI下载和安装或包文件−

$ pip install my_package
Bash

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

$ my_cli_app --name Alice
Hello, Alice!
Bash

结论

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册