Python中列已安装包和requirements.txt文件

处理 Python 项目也可能需要列出已安装的 Python 包,以便管理依赖项、检查更新或与其他人共享项目需求。

创建和维护requirements.txt 文件是Python 开发的基本最佳实践。它确保您的项目的依赖项有完整的文档记录并且易于重现,从而使其他人更容易处理您的代码并减少出现兼容性问题的可能性。


列出已安装的 Python 包
下面是一些我们可以列出已安装的Python包的方法:

  • 使用 pip list
  • 使用pip freeze
  • 使用Python的pkg_resources
  • 使用 pipdeptree
  • 使用 Pipenv
  • 使用 JupyterNotebook

使用 pip list 列出已安装的 Python 包
列出已安装的 Python 包的最常见方法是使用 pip 命令行工具。 pip 是 Python 的标准包管理器,它预装在 Python 3.4 及更高版本中。

我们可以使用 list 命令列出使用 pip 已安装的软件包。只需打开终端或命令提示符并运行以下命令,您将看到所有已安装软件包的列表。

pip list

此命令将显示 Python 环境中安装的所有 Python 包及其版本的列表。您还可以将输出重定向到文本文件(可选)如果要将已安装软件包的列表保存到文本文件,可以使用以下命令:

pip list > installed_packages.txt

此命令将创建一个名为installed_pa​​ckages.txt 的文件并在其中保存包列表。

使用 pip freeze 列出 Python 包
另一个常用的列出已安装软件包的命令是 pip freeze,尤其是在 Python 项目管理上下文中。此命令生成已安装的软件包及其版本的列表,其格式通常用于在requirements.txt 文件中指定项目依赖项。

我们可以使用pip freeze列出已安装的 Python 包。只需打开终端或命令提示符并运行以下命令。

pip freeze
此命令将显示已安装的软件包及其版本的列表,类似于您在requirements.txt 文件中可能找到的内容。

使用 Python 的 pkg_resources 模块列出 Python 包
如果您更喜欢通过编程方式从 Python 脚本中列出已安装的软件包,则可以使用 setuptools 软件包中的 pkg_resources 模块。以下是如何使用它的示例:


import pkg_resources
 
installed_packages = pkg_resources.working_set
for package in installed_packages:
    print(f"{package.key}=={package.version}")

该脚本将打印 Python 环境中所有已安装软件包的名称和版本。

使用 pipdeptree 列出 Python 包
pipdeptree是一个 Python 包,可帮助您以树状结构可视化并列出已安装包的依赖关系。要使用它,您需要先安装它:

pip install pipdeptree
安装 pipdeptree 后,您可以列出已安装的软件包及其依赖项,如下所示:

pipdeptree
此命令将显示已安装软件包及其依赖项的树状结构。

使用 pipelinev 列出已安装的软件包
Pipenv是用于管理 Python 项目环境和依赖项的流行工具。它结合了 pip 和 virtualenv 来为您的项目创建隔离的 Python 环境。要列出 Pipenv 环境中已安装的软件包,请执行以下步骤:

  • 打开终端或命令提示符并导航到 Pipfile 所在的目录。
  • 激活虚拟环境:

pipenv shell

列出已安装的软件包:

pipenv lock --requirements
此命令将显示已安装的软件包及其版本的列表。

使用 Jupyter 笔记本
如果我们使用 Jupyter Notebook 进行 Python 开发并希望列出笔记本中已安装的软件包,我们可以使用 ! (shell 命令)前缀。就是这样:

  • 打开 Jupyter Notebook:通过在终端中运行 jupyter Notebook 来启动 Jupyter Notebook。
  • 创建新笔记本或打开现有笔记本:您可以创建新笔记本或打开现有笔记本,以在其中列出已安装的软件包。
  • 列出笔记本单元中已安装的软件包:

!pip list

在笔记本单元中运行此命令将在笔记本输出中显示已安装软件包及其版本的列表。


在Python中创建Requirements.txt文件
在处理 Python 项目时,管理依赖关系是开发过程的关键部分。依赖项是 Python 代码正常运行所依赖的外部库或包。为了确保您的项目易于重现和维护,最好创建一个requirements.txt 文件。该文件列出了您的项目所需的所有依赖项,使其他人可以更轻松地安装和运行您的代码。

为什么使用requirements.txt 文件?
requirements.txt 文件有几个重要的用途:

  • 可重现性:通过指定项目所依赖的包和库的确切版本,您可以确保处理您的项目的其他任何人都可以创建相同的环境并重现相同的结果。
  • 依赖关系管理:管理依赖关系变得更加易于管理。您可以根据需要轻松添加、更新或删除包,而无需手动跟踪它们。
  • 兼容性:它有助于避免包之间的版本冲突,确保所有依赖项和谐地协同工作。
  • 部署:在部署应用程序或与其他人共享应用程序时,您可以向他们提供requirements.txt 文件以轻松安装必要的依赖项。

创建需求.txt 文件
第 1 步:激活您的虚拟环境

要创建并激活虚拟环境,请打开终端并运行以下命令:

# 创建虚拟环境
python -m venv myenv 

# 激活虚拟环境

# Windows 
myenv\Scripts\activate 
# macOS 和 Linux
source myenv/bin/activate

第2步:安装依赖项
您需要先将项目的依赖项安装到虚拟环境中,然后才能在requirements.txt 文件中列出项目的依赖项。为此,您可以使用 Python 的包管理器 pip。在这里,将 package-name 替换为您要安装的包的实际名称。

pip install package-name
pip install pandas


步骤3:生成requirements.txt文件

现在,您可以通过运行以下命令生成requirements.txt文件:

pip freeze > requirements.txt