命令行脚本 - 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 脚本并将其打包和分发。