命令行脚本 – Python打包

命令行脚本 – Python打包

Python是一种非常流行且强大的编程语言,用于创建具有不同目的的大量应用程序。命令行界面脚本或CLI脚本是执行特定任务的脚本,当通过命令行执行时,它被脚本化,并用于自动化许多任务。CLI脚本对开发人员非常有用。

我们也可以使用Python创建这些CLI脚本。创建CLI脚本后,我们还可以打包并与其他程序员共享以供使用。因此,我们必须知道如何打包CLI脚本并进行分发。在本文中,我们将介绍打包和分发所需的所有必要步骤。

本文将引导您完成打包Python脚本和分发它们所需的所有步骤,它将使您自己轻松打包脚本。

创建命令行脚本的步骤

我们将遵循以下步骤在python中创建命令行脚本 –

第1步:导入所需的库

我们需要为此任务导入argpase库。此库帮助解析命令行参数。

import argparse

第2步:创建一个命令行脚本

我们首先需要在Python中创建一个命令行脚本或CLI脚本。这将包含我们的脚本在执行时执行的主要函数。这也可以使用argparse库从命令行本身接受参数。以下是一个简单CLI脚本的示例 –

import argparse
def greet(name):
   print(f"Hello, {name}!")
if __name__ == "__main__":
   parser = argparse.ArgumentParser()
   parser.add_argument("name", help="Enter name: ")
   args = parser.parse_args()
   greet(args.name)

上面的脚本具有一个greet函数,它接受一个名称作为参数,并打印写在其中的问候语,其中包含命令行中的该名称/参数。我们可以在终端或命令行中运行以下命令来运行此脚本 –

python greet.py Tutorialspoint

这将执行该脚本并给出以下输出 –

Hello, Tutorialspoint!

第3步:添加依赖项和打包要求

大多数命令行脚本将依赖于其他库或软件包。这些依赖项需要包含在包中,以便与该脚本一起安装。您可以通过在与脚本相同的目录中创建requirements.txt文件来将依赖项添加到包中。

如果您正在开发的项目需要一些库,则requirements.txt将包含所有这些库的名称,例如,如果它需要请求库和argparse库,则requirments.txt将是 –

requests
argparse

此文件指定请求库是包所需的。

第4步:使用Setuptools创建包
创建命令行脚本并定义所需的依赖后,我们可以使用setuptools库来为其创建包。该库提供了构建和分发软件包的工具和功能。

为了使用setuptools库,我们需要在脚本所在的目录中创建一个setup.py文件。下面是一个setup.py文件的示例:

from setuptools import setup, find_packages
setup(
   name="greet",
   version="0.1.0",
   packages=find_packages(),
   install_requires=["requests"],
   entry_points={
      "console_scripts": [
         "greet=greet:main",
      ],
   },
)

该文件使用setup函数定义了软件包的名称、版本和依赖关系。它还使用entry_points字典指定了脚本的入口点,即告诉setuptools创建一个名为greet的控制台脚本来运行greet模块中的main函数。

步骤5:分发软件包

在使用setuptools库创建了CLI脚本的软件包后,我们可以将其分发给其他用户或程序员使用。我们可以通过PyPI或Python包索引来分发我们的包。PyPI是一个Python包的仓库,用户可以轻松地安装和共享包。

我们将使用twine工具将软件包分发到PyPI。我们需要创建2个文件,一个名为sdist,表示源分发文件,另一个是bdist_wheel,表示wheel分发文件。我们可以使用以下命令来完成此操作:

python setup.py sdist bdist_wheel

这将在dist目录中创建两个分发文件:源分发文件(\ * .tar.gz)和wheel分发文件(* .whl)。接下来,我们可以使用twine工具将软件包上传到PyPI。首先,使用pip安装twine –

pip install twine

然后,切换到dist目录并使用以下命令上传软件包 –

twine upload dist/*

上传软件包到PyPI后,其他用户可以通过使用pip安装软件包来使用它。

结论

在本文中,我们学习了如何为命令行脚本创建软件包,以及如何分发软件包。我们了解了CLI脚本及其目的的用途。我们还学习了两个软件包argparse和requests。我们介绍了打包CLI脚本并在PyPI上分发它所需的所有步骤。通过仔细遵循本文中提到的所有步骤,您也可以轻松地创建CLI脚本、打包并分发它。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Python 教程