MEMOO
MEMOO
Published on 2025-04-21 / 5 Visits
0
0

Python包管理工具pip

摘要:在本教程中,您将学习 Python 的 pip 工具以及如何使用它来管理第三方包。

Python 包索引 (PyPI) 简介

Python 拥有一个丰富的标准库,您可以直接在项目中使用。如果您需要标准库中未提供的包,可以在 Python 包索引中找到。

Python 包索引 (PyPI) 是最大的 Python 包存储库。它包含许多由 Python 社区开发和维护的 Python 包。

要查找包,您可以使用搜索框。例如,要搜索与 HTTP 请求相关的包,只需使用关键字 requests

搜索结果将显示许多包。要查找每个包的详细信息,可以点击相应的链接。

接下来,让我们了解一下 requests 包

包版本

Python 包使用语义化版本控制(semantic versioning),该版本号由三部分组成:主版本号(major version)、次版本号(minor version)和修订号(patch)。

major.minor.patch

修订号(patch number)的递增用于表示不影响包使用方式的微小更改和错误修复。

次版本号(minor version)的递增用于表示向后兼容的新功能发布。

主版本号(major version)的递增用于表示不向后兼容的更改。

例如requests 包(截至本文撰写时)的版本是 2.24.0。其中,主版本号是 2,次版本号是 24,修订号是 0。

如果您在项目中使用了 requests 包的 2.24.0 版本,则可以将其升级到任何主版本号为 2 的版本,例如 2.25.1。

但是,如果您安装了一个主版本号更高的包,例如 3.0.0,您的应用程序可能无法正常运行。

pip 是什么

要下载包,您可以使用本模块中描述的命令:

pip install requests

但什么是 pip?

pip 是 Python 的包安装工具。Pip 允许您从 PyPI 和其他存储库中安装包。

Python 默认自带 pip。要检查您的计算机上是否可用 pip,可以在 Windows 上打开命令提示符(或 Powershell)并输入以下命令:

pip --version

它会显示类似以下内容:

pip 25.0.1 from C:\python\Lib\site-packages\pip (python 3.13)

……其中 25.0.1 是版本号C:\python\Lib\site-packages\pip 是 pip 的安装位置。

如果您使用的是 macOS 或 Linux,可以打开终端,并使用 pip3 代替 pip

pip3 --version

安装一个包

要从 PyPI 安装一个包,您可以在 Windows 上使用以下命令:

pip install <package_name>

在 macOS 和 Linux 上,将 pip 替换为 pip3

pip3 install <package_name>

例如,以下命令用于安装 requests 包:

pip install requests

从这一刻起,您可以在任何项目中使用 requests 包。例如,您可以创建一个名为 pip-demo 的新项目并使用 requests 包。

以下代码使用 requests 包向 https://pypi.org/ 发起 HTTP 请求,并显示 HTTP 状态码:

import requests

response = requests.get('https://pypi.org/')
print(response.status_code)

输出:

200

要安装特定版本的包,您可以使用以下命令:

pip install <package_name>==<version>

以下命令安装 requests 包的 2.20.1 版本:

pip install requests==2.20.1

列出已安装的包

要列出所有已安装的包,您可以使用以下 pip 命令:

pip list

该命令将返回您计算机上已安装的包列表,如下所示:

Package                                  Version
---------------------------------------- -----------
aiohappyeyeballs                         2.6.1
aiohttp                                  3.11.14
aiosignal                                1.3.2
altgraph                                 0.17.4
annotated-types                          0.7.0
...

要检查哪些包已过时,您可以使用以下命令:

pip list --outdated

输出:

Package    Version Latest Type
---------- ------- ------ -----
setuptools 47.1.0  50.3.2 wheel

它会显示包名、已安装的版本以及最新版本。

卸载一个包

要卸载一个包,您可以使用 pip uninstall 命令:

pip uninstall <package_name>

它会提示你进行确认,如下所示:

Proceed (y/n)?

如果你输入 y,pip 将会卸载该包。否则,它将不会进行卸载。

列出包的依赖项

当你安装一个包时,如果该包使用了其他包,pip 将会安装该包及其依赖项,以及依赖项的依赖项,依此类推。

要显示一个包的依赖项,你可以使用以下命令:

pip show <package_name>

以下命令显示了 requests 包的依赖项:

pip show requests

输出:

Name: requests
Version: 2.32.3
Summary: Python HTTP for Humans.
Home-page: https://requests.readthedocs.io
Author: Kenneth Reitz
Author-email: me@kennethreitz.org
License: Apache-2.0
Location: C:\python\Lib\site-packages
Requires: certifi, charset-normalizer, idna, urllib3
Required-by: huggingface-hub, kubernetes, langchain, langchain-community, langsmith, posthog, requests-oauthlib, requests-toolbelt, transformers

Requires行列出了 requests 包所使用的其他包。

Requires: certifi, charset-normalizer, idna, urllib3

总结

  • Python 包索引(Python Package Index)提供了由 Python 社区开发和维护的第三方 Python 包。

  • 使用 Python 的包安装工具(pip)来管理第三方 Python 包。


Comment