如何打包命令行 Python 脚本


Python 是一种功能强大的编程语言,在软件工程领域有着广泛的应用,并且被广泛使用。我们可以使用 Python 创建各种类型的应用程序。我们还可以用 Python 创建一个 CLI 脚本,用于自动化许多任务。然后我们还可以打包 CLI 脚本。

为了让其他人能够使用这些脚本,我们需要打包并分发这些应用程序。因此,我们必须了解如何打包命令行 Python 脚本。本文将指导您完成打包 Python 脚本所需的所有步骤,并使您能够轻松地自行打包脚本。

为了打包 Python 中的命令行脚本或 CLI 脚本,我们需要遵循以下步骤。

步骤 1:安装所需的库

在开始编写脚本之前,我们需要安装 Python 的所有所需库。requirements.txt 文件包含您要创建的命令行脚本所需的所有库。这些库不是固定的,会根据脚本的需求而变化。要安装,请运行以下命令:

pip install -r requirements.txt

此命令将安装 requirements.txt 文件中列出的所有必需库及其依赖项。

步骤 2:创建虚拟环境

在第二步中,我们需要创建一个虚拟环境,其中包含项目所需的所有库,以及该项目的依赖项。我们创建虚拟环境是为了确保项目在打包和开发过程中都能正常工作。我们将使用以下命令创建虚拟环境:

python3 -m venv env

此命令将在 .env 目录中创建一个新的虚拟环境。

步骤 3:激活虚拟环境

创建虚拟环境后,我们需要激活它。我们将使用以下命令激活它:

source env/bin/activate

上述命令将激活我们之前创建的虚拟环境,并且您安装的任何库或依赖项也将安装在虚拟环境中。

步骤 4:创建安装脚本

下一步是创建安装脚本。安装脚本是一个 Python 脚本,用于描述您要创建的包。它包含诸如包名称、版本、作者和其他元数据等信息。以下是一个安装脚本示例:

from setuptools import setup, find_packages
setup(
   name='mycommand',
   version='0.1',
   author='Your Name',
   author_email='[email protected]',
   description='My Command Line Tool',
   packages=find_packages(),
   entry_points={
      'console_scripts': [
         'mycommand=mycommand.cli:main',
      ],
   },
)

我们使用了 Python 的 setuptools 库来创建包。在上面的代码中,我们定义了包的名称、版本、作者以及其他各种元数据。我们还定义了脚本的入口点,即包执行开始的点,也就是 cli.py 文件。

步骤 5:创建 CLI 脚本

第 5 步是创建命令行界面脚本或 CLI 脚本。此脚本将包含脚本需要执行的主函数。当从命令行调用此脚本时,它将被执行。下面是一个简单的示例

def main():
   print('Hello, World!')

在上面的脚本中,我们简单地创建了一个主函数,当执行时,它将打印“Hello World”。这是我们需要在调用 CLI 应用程序时执行的主函数。

步骤 6:构建包

创建安装脚本和 CLI 脚本后,可以使用以下命令构建包:

python setup.py sdist bdist_wheel

此命令将创建包的源代码分发版和二进制分发版。源代码分发版将包含包的源代码,而二进制分发版将包含包的编译版本。

步骤 7:分发包

构建包后,现在我们需要分发它,以便其他开发人员或程序员可以使用它。我们可以使用 Python 的包管理器 PyPI 轻松地分发它。我们还可以通过简单地将构建的包文件通过 Google Drive 或任何媒体共享平台发送给最终用户来手动共享包。

步骤 8:安装和测试包

我们应该在系统上安装包以进行测试。我们可以使用 Python 的包安装程序 pip 来安装此包。我们将使用以下命令安装包:

pip install mycommand-0.1-py3-none-any.whl

这将在我们的系统上成功安装包。现在,我们还可以通过运行以下命令来测试此包:

mycommand

此命令将执行 cli.py 文件中的主函数,并将“Hello, World!”打印到控制台。

结论

在本文中,我们了解了如何打包用 Python 编写的命令行脚本。我们介绍了打包应用程序所需的所有步骤。按照本文中的所有步骤,您可以轻松地打包自己的命令行脚本,其中包括依赖项和元数据。您创建的包也可以通过共享或使用 PyPI 轻松地分发给用户。

更新于: 2023 年 4 月 20 日

3K+ 阅读量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告