摘要:在本教程中,您将学习 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 包。