1. 什么是 pip? #
pip 是 Python 的包管理工具。它的全称是 “Pip Installs Packages”。
你可以把它想象成 Python 世界的 “手机应用商店” 或 “软件管家”。
- 当你需要一个功能,但 Python 自身没有提供时(比如处理 Excel 表格、进行网络请求、做数据可视化),你不需要自己从头编写代码。
- 世界上有成千上万的开发者已经写好了这些功能的代码,并打包成了 “包”(Package) 或 “库”(Library)。
pip就是帮你从网上(主要是 PyPI,Python Package Index)自动查找、下载、安装和管理这些包的工具。
2. 如何确认安装了pip? #
通常,如果你安装了 Python(从 python.org 下载的官方版本),pip 已经自带了。
你可以在命令行(Windows 上是 CMD 或 PowerShell,macOS/Linux 上是 Terminal)中输入以下命令来检查:
pip --version或者(在某些系统上可能需要用 pip3 来明确指定是 Python 3 的 pip)
pip3 --version如果安装正确,你会看到类似这样的输出:
pip 23.1.2 from /usr/local/lib/python3.11/site-packages/pip (python 3.11)这告诉你当前 pip 的版本号以及它关联的 Python 版本。
3. pip 的核心用法 #
以下是 pip 最常用、最重要的命令。
3.1 . 安装包 #
这是 pip 最核心的功能。
基本命令:
pip install <package_name>示例:
- 安装一个名为
requests的库(用于发送 HTTP 请求):pip install requests - 安装特定版本(比如安装 Django 的 4.2.1 版本):
pip install Django==4.2.1 - 安装一个不低于某个版本的包:
pip install Django>=4.0
3.2 . 卸载包 #
如果你不再需要某个包,可以轻松卸载。
基本命令:
pip uninstall <package_name>示例:
pip uninstall requests系统会提示你确认,输入 y 即可。
3.3 . 列出已安装的包 #
查看当前 Python 环境下已经安装了哪些包。
基本命令:
pip list这会显示一个所有已安装包的列表及其版本号。
3.4 . 将项目依赖导出到文件 #
当你和别人协作一个项目时,你需要确保大家使用相同版本的库,以避免“在我电脑上是好的”这种问题。
基本命令:
pip freeze > requirements.txt这个命令会:
pip freeze:列出所有已安装包及其精确版本。> requirements.txt:将列表输出到一个名为requirements.txt的文件中。
这个 requirements.txt 文件应该被放入你的项目代码仓库(如 Git)中。
3.5 . 从文件安装所有依赖 #
当别人拿到你的项目代码后,他们可以一键安装所有需要的包。
基本命令:
pip install -r requirements.txt这个命令会读取 requirements.txt 文件里的每一行,并自动安装所有指定的包和版本。
4. 进阶用法和最佳实践 #
4.1. 使用虚拟环境(Virtual Environment) #
为什么需要? 想象一下:你正在做项目A,它需要 Django 2.2。同时你又想做项目B,它需要 Django 4.2。如果你把所有包都安装在电脑的“全局”环境里,版本就会冲突。
虚拟环境 就是为每个项目创建一个独立的、隔离的 Python 运行环境,每个项目都有自己的包,互不干扰。
如何使用?
创建虚拟环境:在项目目录下执行。
python -m venv myenv这会在当前目录创建一个名为
myenv的文件夹,里面包含了一个独立的 Python 环境。激活虚拟环境:
- Windows (CMD/PowerShell):
# CMD myenv\Scripts\activate.bat # PowerShell myenv\Scripts\Activate.ps1 - macOS/Linux:
激活后,你的命令行提示符通常会发生变化,显示虚拟环境的名称(如source myenv/bin/activate(myenv) C:\Users\...)。
- Windows (CMD/PowerShell):
在激活的环境中使用 pip: 现在,你使用
pip install安装的任何包,都只会安装到这个名为myenv的虚拟环境中,不会影响全局环境。退出虚拟环境:
deactivate
最佳实践:为每一个项目都创建一个独立的虚拟环境。
4.2 . 使用国内镜像源 #
由于 PyPI 服务器在国外,有时下载速度会很慢。我们可以使用国内的镜像站来加速。
临时使用:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests设为默认(推荐):
- Windows:在用户目录(如
C:\Users\你的用户名\)下创建一个名为pip的文件夹,然后在里面创建pip.ini文件。 - macOS/Linux:在用户目录(
~)下创建.pip文件夹,然后在里面创建pip.conf文件。
在配置文件中写入以下内容(以清华镜像为例):
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn常用国内镜像:
- 清华:
https://pypi.tuna.tsinghua.edu.cn/simple - 阿里云:
https://mirrors.aliyun.com/pypi/simple/ - 中科大:
https://pypi.mirrors.ustc.edu.cn/simple/
5.总结 #
| 命令 | 作用 | 场景 |
|---|---|---|
pip install <包名> |
安装包 | 需要新功能时 |
pip uninstall <包名> |
卸载包 | 清理不需要的包时 |
pip list |
列出已安装的包 | 查看当前环境有什么 |
pip freeze > requirements.txt |
导出依赖列表 | 项目协作、部署 |
pip install -r requirements.txt |
从文件安装依赖 | 拉取别人项目、部署 |
python -m venv <环境名> |
创建虚拟环境 | 开始新项目时 |
source .../activate 或 .\...\activate |
激活虚拟环境 | 进入项目工作模式 |
deactivate |
退出虚拟环境 | 完成工作后 |
记住 pip 的核心工作流:
创建虚拟环境 → 激活环境 → 用 pip 安装包 → 用 pip freeze 记录依赖 → 分享 requirements.txt