命令行脚本 - 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 将包含所有这些库的名称,例如,如果它需要 requests 库和 argparse 库,则 requirments.txt 将为:

requests
argparse

此文件指定包需要 requests 库。

步骤 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,代表轮子分发。我们可以通过以下命令执行此操作:

python setup.py sdist bdist_wheel

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

pip install twine

然后,导航到 dist 目录并使用以下命令上传您的包:

twine upload dist/*

此后,我们的包将上传到 PyPI,这使得其他用户可以通过 pip 安装后使用它。

结论

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

更新于:2023年4月20日

273 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告