如何在 Python 中创建 requirements.txt 文件

17 Mar 2025 | 6 分钟阅读

如果你是一名开发者,你可能知道,在处理任何 Python 项目或数据科学项目时,始终在一个易于重用和可重复的环境中工作至关重要,这样任何接手你项目的人都不会遇到问题。因此,在讨论如何在 Python 中创建 requirements.txt 文件之前,让我们先了解一下 requirements.txt 是什么以及为什么我们需要它。

Python 中的 requirements.txt 文件是什么?

Python中,requirement.txt 文件是一种文件,通常会存储在该文件中,其中包含开发特定项目时使用的所有库、模块和包的信息。它还存储该项目依赖或运行所需的所有文件和包。通常,此文件 "requirement.txt" 存储在(或位于)项目的根目录中。这里又会出现一个重要问题:为什么我们需要这种文件在我们的项目中。

为什么我们需要 requirements.txt?

它在许多方面都有帮助,即使是我们以后重新审视项目时,它也能解决几乎所有的兼容性问题。如果你曾经做过任何 Python 项目或开发过任何项目,你肯定知道我们通常需要大量的包。然而,在开发项目时,我们通常使用了特定版本的包。之后,包管理器或维护者可能会进行一些更改,而这些修改很容易破坏你的整个应用程序。因此,跟踪包的每一次修改是一项非常繁重的工作。特别是在项目非常大的情况下,跟踪我们正在使用的每个包以避免意外情况至关重要。

解决这些问题的一种标准方法是使用虚拟环境。原因是 Python 库通常存储在两种主要类型的包和位置中,而我们通常不需要所有这些类型的包来处理特定项目;因此,需要知道每个项目需要哪些包才能更容易地进行复现。

它通常包含以下文件

  • 构成标准 Python 库的系统包
  • 站点包(第三方包),您使用 pip 安装它们。

什么是虚拟环境?

虚拟环境是一种隔离或人工工作空间,它将用户的包与本地(或主)系统安装分开。它允许我们为每个 Python 项目创建一个“虚拟”隔离环境。这使得每个项目都可以独立于其他项目,尤其是在它们共享相同依赖项的情况下。有各种可用的包可用于创建虚拟环境。一些基本包如下:

  • virtualenv
  • pipenv

因此,一旦为我们的项目创建了虚拟环境,让我们看看如何安装包和库。使用虚拟环境可以非常轻松地获取我们项目所需的所有包。让我们先看看如何使用“virtualenv”。

A. virtualenv

它是一种允许我们创建和使用虚拟环境的库。要安装 virtualenv,您可以按照给出的说明进行操作:

1. 打开 Cmd,键入以下命令并按 Enter 键,如下图所示:

命令

输出

How to Create Requirements.txt File in Python

2. 为项目创建新的工作目录

现在,在该项目的目录中创建一个新的虚拟环境,以避免不必要的麻烦。

命令

输出

How to Create Requirements.txt File in Python

3. 现在,要使用这个新创建的虚拟环境,我们只需要激活它。要激活这个隔离的环境,键入以下命令并按 Enter 键,如下图所示:

命令

输出

How to Create Requirements.txt File in Python

为了验证我们是否成功创建了新的虚拟环境,您可以在提示符中看到,前缀已更改为我们新虚拟环境的名称,以我们为例,我们将虚拟环境命名为“name_of_envirnmnet”。您也可以通过打开项目目录或文件夹来验证它,在该文件夹中会创建一个指定名称的新目录。

4. 现在让我们看看如何创建 requirement.txt 文件

为了创建 requirement.txt 文件,最好先了解它的内容。

requirement.txt 文件包含在该特定项目中使用的所有标准包和库。因此,这个 requirement.txt 文件在开发任何小型或大型项目时都起着至关重要的作用。它还有助于使我们的项目更具可移植性。

借助 "requirement.txt" 文件,可以轻松避免几个主要问题。为了更详细地理解这一点,您可以考虑以下示例:

示例

假设您创建了一个新项目,例如一个与特定版本库和包兼容的应用程序。因此,出于某种原因,您将此应用程序转发给您的朋友。

由于您没有使用 requirement.txt 文件,因此您的应用程序可能无法在您朋友的系统中正常运行,甚至无法启动。这背后的主要原因是并非所有用户都使用相同版本的库和包。但是,如果您使用了 requirement.txt 文件,任何人都可以运行和使用您的项目或应用程序,因为所有必需的或使用的包和库都已在 requirement.txt 文件中与您的项目一起指定。

在此 requirement .txt 文件中,用户可以根据自己的需求轻松选择、存储和维护所需的库。

如何获取 Requirements.txt 文件:使用 Virtualenv

在这里,我们可以获取 requirements.txt 文件。要创建 requirements.txt 文件,我们可以使用以下命令:

命令

输出

How to Create Requirements.txt File in Python

如何获取 Requirements.txt 文件:使用 Pipenv

Pipenv 也是一个优秀的虚拟环境创建库工具,它有一些很酷的功能。您可以使用以下给出的说明来获取 requirement.txt 文件。

1. 键入以下命令来安装 pipenv:

命令

输出

How to Create Requirements.txt File in Python

2. 现在键入以下命令并按 Enter 键。

命令

上面的命令用于安装项目所需的包。

输出

How to Create Requirements.txt File in Python
  • 安装项目包后,我们需要激活虚拟环境。因此,要激活虚拟环境,您可以使用以下命令:

命令

可以使用这些命令来激活新创建的虚拟环境,如下图所示:

输出

How to Create Requirements.txt File in Python

现在键入以下命令在虚拟环境中运行脚本。

命令

说明

此命令用于在虚拟环境中运行指定的脚本,如下图所示:

输出

How to Create Requirements.txt File in Python

因为它更简单,并且它还自动跟踪 pipfile 和 pipfile.lock 文件中使用的所有库。这些文件起着与 requirements.txt 相同的作用,并且还存储有关 requirements.txt 中未包含的各种内容的额外信息。

因此,您可以将此 pipfile 用作 requirements.txt 文件的替代品。但是,如果您仍想使用 requirements.txt 文件,可以使用以下命令:

输出

How to Create Requirements.txt File in Python

如何获取 Requirements.txt 文件:不使用 Virtualenv,使用 Pipreqs

Pipreqs 是一个非常高效且易于使用的工具,它不需要您创建任何虚拟环境。因此,如果用户只需要应用程序或项目中使用的包和库,它就非常有用。

最重要的事情之一是它会自动扫描脚本或 Python 文件导入的库,并生成 requirements.txt。

让我们看看它是如何工作的:

1. 首先,您需要安装 "pipreqs",所以要下载它,请在 cmd 中键入以下命令并按 Enter 键:

命令

输出

How to Create Requirements.txt File in Python

2. 安装完成后,您可以开始使用 "pipreqs" 来获取 requirement.txt 文件,只需将其指向您的项目文件夹所在的位置。

命令

输出

How to Create Requirements.txt File in Python

要验证 requirement.txt 文件是否已成功创建,您可以在项目文件夹中看到,会创建一个名为 "requirement.txt" 的新文件,如下图所示:

How to Create Requirements.txt File in Python