如何使用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应用程序的代码。
步骤2:定义CLI入口点
在第二步中,我们将定义命令行接口入口点或CLI入口点。入口点是从CLI运行应用程序时首先执行的Python函数。
click库是Python的一个非常流行的库,通常用于创建CLI应用程序。我们必须导入click库以创建入口点。
在此示例中,我们使用上述Python的click库定义了一个CLI入口点。@click.command()装饰器通知click此函数是CLI命令。@click.option()装饰器定义了一个命令行选项,使用户可以将参数传递给命令。
步骤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命令被定义为入口点。
步骤4:构建和分发我们的软件包
现在,我们已经准备好构建和分发我们的软件包了。要构建软件包,我们需要使用以下命令:
此命令将在dist目录中创建一个源分发包和一个wheel分发包。分发包是由Python打包工具创建的压缩文件,其中包含我们的软件包及其依赖项。
部署CLI应用程序
要安装我们的CLI应用程序,我们需要使用以下命令:
此命令将安装我们的软件包及其依赖项。接下来,我们可以从命令行运行我们的应用程序:
此命令将从命令行运行我们的应用程序,并使用“Alice”作为名称参数运行hello函数。
结论
用Python创建CLI应用程序是一项非常有趣和有用的任务。使用Python的内置和外部工具,我们可以轻松地打包和分发我们的应用程序。 CLI应用程序不需要复杂的图形用户界面,因此很容易编写和维护。如果您想学习如何使用Python开发CLI应用程序,那么本文可以作为入门指南。
封装和部署基于Python的CLI应用的最后一个步骤是构建并分发软件包。通过使用“setuptools”库,我们可以轻松地构建和分发软件包。
要构建软件包,请运行以下命令−
以上命令将在dist目录中创建软件包的源分发(sdist)和二进制分发(bdist_wheel)。源分发(sdist)包含源代码和资源,而二进制分发包含编译代码并可在不同平台上安装的代码。
要分发我们的软件包,我们需要使用twine库将其上传到Python软件包索引(PyPI)。为此,我们必须在PyPI上拥有一个帐户。因此,我们需要在PyPI上创建一个帐户,然后使用pip安装twine库−
接下来,我们可以使用以下命令将软件包上传到PyPI−
此命令将上传dist/目录中的所有版本到PyPI。
步骤5:安装和使用我们的软件包
要安装我们的CLI应用程序软件包,用户可以使用pip从PyPI下载和安装或包文件−
安装软件包后,用户可以使用entry_points参数中定义的CLI命令。在下面的代码片段中,我们将一个名为name的参数传递给–name选项,该参数将由hello函数用于打印带有作为参数给定的名称的问候消息。这使应用程序更加用户友好。
结论
在本文中,我们学习了如何使用Python封装和部署命令行应用程序。我们学习了什么是CLI应用程序,它的用途是什么以及创建和部署CLI应用程序所需的所有步骤。我们可以按照本文中编写的每个步骤,然后就可以轻松地创建Python软件包、定义CLI入口点、将依赖项添加到setup.py文件中、创建和分发软件包以及轻松地安装和使用我们的软件包。通过遵循上述步骤,我们可以确保我们的应用程序易于打包和部署,并且其他程序员可以轻松地使用它。