命令行脚本 – 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脚本、打包并分发它。