如何在 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 项目创建一个“虚拟”隔离环境。这使得每个项目都可以独立于其他项目,尤其是在它们共享相同依赖项的情况下。有各种可用的包可用于创建虚拟环境。一些基本包如下:
因此,一旦为我们的项目创建了虚拟环境,让我们看看如何安装包和库。使用虚拟环境可以非常轻松地获取我们项目所需的所有包。让我们先看看如何使用“virtualenv”。 A. virtualenv 它是一种允许我们创建和使用虚拟环境的库。要安装 virtualenv,您可以按照给出的说明进行操作: 1. 打开 Cmd,键入以下命令并按 Enter 键,如下图所示: 命令 输出 ![]() 2. 为项目创建新的工作目录 现在,在该项目的目录中创建一个新的虚拟环境,以避免不必要的麻烦。 命令 输出 ![]() 3. 现在,要使用这个新创建的虚拟环境,我们只需要激活它。要激活这个隔离的环境,键入以下命令并按 Enter 键,如下图所示: 命令 输出 ![]() 为了验证我们是否成功创建了新的虚拟环境,您可以在提示符中看到,前缀已更改为我们新虚拟环境的名称,以我们为例,我们将虚拟环境命名为“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 文件,我们可以使用以下命令: 命令 输出 ![]() 如何获取 Requirements.txt 文件:使用 PipenvPipenv 也是一个优秀的虚拟环境创建库工具,它有一些很酷的功能。您可以使用以下给出的说明来获取 requirement.txt 文件。 1. 键入以下命令来安装 pipenv: 命令 输出 ![]() 2. 现在键入以下命令并按 Enter 键。 命令 上面的命令用于安装项目所需的包。 输出 ![]()
命令 或 可以使用这些命令来激活新创建的虚拟环境,如下图所示: 输出 ![]() 现在键入以下命令在虚拟环境中运行脚本。 命令 说明 此命令用于在虚拟环境中运行指定的脚本,如下图所示: 输出 ![]() 因为它更简单,并且它还自动跟踪 pipfile 和 pipfile.lock 文件中使用的所有库。这些文件起着与 requirements.txt 相同的作用,并且还存储有关 requirements.txt 中未包含的各种内容的额外信息。 因此,您可以将此 pipfile 用作 requirements.txt 文件的替代品。但是,如果您仍想使用 requirements.txt 文件,可以使用以下命令: 输出 ![]() 如何获取 Requirements.txt 文件:不使用 Virtualenv,使用 PipreqsPipreqs 是一个非常高效且易于使用的工具,它不需要您创建任何虚拟环境。因此,如果用户只需要应用程序或项目中使用的包和库,它就非常有用。 最重要的事情之一是它会自动扫描脚本或 Python 文件导入的库,并生成 requirements.txt。 让我们看看它是如何工作的: 1. 首先,您需要安装 "pipreqs",所以要下载它,请在 cmd 中键入以下命令并按 Enter 键: 命令 输出 ![]() 2. 安装完成后,您可以开始使用 "pipreqs" 来获取 requirement.txt 文件,只需将其指向您的项目文件夹所在的位置。 命令 输出 ![]() 要验证 requirement.txt 文件是否已成功创建,您可以在项目文件夹中看到,会创建一个名为 "requirement.txt" 的新文件,如下图所示: ![]() 下一主题Python 中的井字棋 |
本文将介绍将给定矩阵元素顺时针旋转的代码。为了可视化这个问题,让我们先看一些矩阵旋转的例子。矩阵旋转示例:对于 3 * 3 矩阵输入 1 4 7 2 ...
5 分钟阅读
乒乓球游戏是街机游戏中最著名的游戏之一,与乒乓球非常相似。这个游戏的规则很简单:有两个玩家。双方都控制着自己一方的球拍。他们可以在垂直方向上移动球拍,从...
阅读 6 分钟
在已创建的产品中发现故障的过程称为软件测试。此外,它还可以评估实际结果是否与预期结果相符,并有助于识别错误、缺失的需求或差距。这是产品最终在...之前的最后一步。
阅读 23 分钟
在本教程中,我们将学习如何使用Python脚本下载YouTube视频。我们知道Python具有许多功能,其中之一就是丰富的模块和库。我们将使用一个流行的pytube库并编写Python脚本。YouTube是一个非常...
7 分钟阅读
NumPy 是一个广受欢迎的数组操作库,有时也称为 Numeric Python。由于图像只是一组具有不同颜色代码的像素,因此可以使用 NumPy 将数组转换为图像。除了 NumPy,PIL(通常称为 Pillow)也将是...
5 分钟阅读
?在本文中,您将学习如何在 Python 中找到最大成对积。您可以通过多种方式在 Python 中找到最大成对积。示例 1:Python 程序查找给定列表中最大成对积:def max_pairwise_product(numbers): n...
阅读 6 分钟
机器学习用于解决回归问题,使用两种不同的算法执行回归分析:逻辑回归和线性回归。这些是最广泛使用的回归方法。机器学习中的回归分析方法有许多算法,它们的使用取决于...
阅读 12 分钟
简介:借助 Python 包 anytree,使用树数据结构变得轻而易举。它使得在 Python 脚本中构建、导航、处理和可视化树结构变得简单。该库提供了一个灵活且可扩展的 API,允许您处理各种类型...
阅读 3 分钟
Selenium 模块 Selenium 是 Python 提供的一个用于自动化测试的模块。它为使用 Selenium 驱动程序进行不同的功能测试提供了易于使用的 API。Selenium 是一个开源的 Python 框架,它提供用于使用 Selenium 编写功能测试的 API。它用于...
阅读 2 分钟
随机指的是可以以任何顺序获得的数据或信息的集合。Python中的random模块用于生成随机字符串。随机字符串由数字、字符和标点符号系列组成,可以包含任何模式。随机...
5 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India