pip 是 Python 的官方包管理工具,用于安装和管理 Python 软件包。它是 Python 生态系统的核心组件,广泛用于数据科学、Web 开发、自动化脚本等领域。以下是快速掌握 pip 的完整教程。
目录
安装与验证
1. 确保 pip 已安装
Python 3.4+ 和 2.7.9+ 默认包含 pip。验证安装:
# 检查版本(Python 3)
python -m pip --version
# 检查版本(Python 2)
python2 -m ensurepip --upgrade
2. 安装 pip(若缺失)
# Linux/macOS
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
# Windows
# 下载 get-pip.py 并运行:
python get-pip.py
基础命令速查表
# 查看版本
pip --version
# 升级 pip
python -m pip install --upgrade pip
# 获取帮助
pip help
pip install --help
包安装与管理
1. 安装包
# 安装最新版本
pip install package_name
# 安装特定版本
pip install package_name==1.0.0
# 升级包
pip install --upgrade package_name
# 卸载包
pip uninstall package_name
2. 查看包信息
# 列出所有已安装包
pip list
# 查看特定包详情
pip show package_name
# 检查过期包
pip list --outdated
虚拟环境管理
1. 使用 venv(Python 3.3+ 内置)
# 创建虚拟环境
python -m venv env
# 激活环境
# Windows: env\Scripts\activate
# macOS/Linux: source env/bin/activate
# 退出环境
deactivate
# 删除环境
rm -rf env # Linux/macOS
rmdir /s /q env # Windows
2. 使用 virtualenv(第三方工具)
# 安装 virtualenv
pip install virtualenv
# 创建虚拟环境
virtualenv env
# 激活与退出同上
依赖管理
1. 生成依赖文件
# 生成 requirements.txt
pip freeze > requirements.txt
# 生成带注释的依赖文件
pipreqs . --encoding=utf8 --force
2. 安装依赖
# 从 requirements.txt 安装
pip install -r requirements.txt
3. 依赖文件格式示例
# requirements.txt
numpy==1.21.0
pandas>=1.3.0
matplotlib # 自动安装最新版本
镜像源配置
1. 临时使用镜像源
pip install package_name -i https://pypi.tuna.tsinghua.edu.cn/simple
2. 永久配置镜像源
# 创建或修改配置文件
mkdir -p ~/.pip
cat > ~/.pip/pip.conf << EOF
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = files.pythonhosted.org
trusted-host = pypi.org
trusted-host = files.pythonhosted.org
EOF
3. 常用国内镜像源
| 镜像源 | 地址 |
|---|---|
| 清华大学 | https://pypi.tuna.tsinghua.edu.cn/simple |
| 阿里云 | https://mirrors.aliyun.com/pypi/simple/ |
| 豆瓣 | https://pypi.douban.com/simple/ |
| 华为云 | https://repo.huaweicloud.com/repository/pypi/simple |
高级技巧
1. 缓存管理
# 查看缓存位置
pip cache dir
# 清理缓存
pip cache purge
2. 打包与发布
# 安装打包工具
pip install setuptools wheel
# 构建分发包
python setup.py sdist bdist_wheel
# 上传到 PyPI
pip install twine
twine upload dist/*
3. 安装本地包
# 从本地文件安装
pip install package_name-1.0-py3-none-any.whl
pip install package.tar.gz
4. 多版本 Python 共存
# 使用 python3 命令
python3 -m pip install package
# 使用特定版本
python3.9 -m pip install package
与 conda 的区别
| 特性 | pip | conda |
|---|---|---|
| 包类型 | 仅 Python | Python + 非 Python(C/C++) |
| 依赖管理 | 本地依赖解析 | 全局依赖解析 |
| 环境隔离 | 需配合虚拟环境 | 内置环境管理 |
| 跨平台支持 | 主要支持 Python | 支持 Windows/macOS/Linux |
| 包来源 | PyPI | Anaconda 仓库 |
| 性能 | 较快 | 较慢(依赖复杂度) |
✅ 最佳实践:- 科学计算/机器学习:优先使用
conda
- Web 开发/通用 Python:优先使用
pip+venv - 混合使用时:
conda安装核心依赖,pip安装 PyPI 独有包
实战案例
1. 搭建 Django 项目环境
# 创建虚拟环境
python -m venv env
source env/bin/activate
# 安装 Django
pip install django==3.2
# 生成依赖文件
pip freeze > requirements.txt
2. 构建并发布自己的包
# 目录结构
my_package/
├── my_package/
│ ├── __init__.py
│ └── module.py
├── setup.py
└── README.md
# 构建包
python setup.py sdist bdist_wheel
# 上传到 PyPI
twine upload dist/*
注意事项
- 权限问题:
- 避免直接使用
sudo pip install(破坏系统 Python 环境) - 推荐使用虚拟环境或
--user选项:
- 避免直接使用
pip install --user package_name
- 依赖冲突:
- 使用虚拟环境隔离项目依赖
- 使用
pip check检查冲突 - 使用
pipdeptree查看依赖树
pip install pipdeptree
pipdeptree
- 编译依赖:
- 安装 C 扩展包需先安装编译工具链:
- Windows: Microsoft C++ Build Tools
- Linux:
build-essential - macOS:
xcode-select --install
- 安装 C 扩展包需先安装编译工具链:
- 安全建议:
- 使用
pip-audit检查安全漏洞
- 使用
pip install pip-audit
pip-audit
- 避免安装来源不明的包
- 性能优化:
- 使用
pipx安装 CLI 工具(自动创建隔离环境)
- 使用
pip install pipx
pipx install package_cli_tool
总结
pip 是 Python 开发者的必备工具,核心优势在于:
- 简单易用:标准化的包安装/卸载流程
- 生态系统:连接 PyPI(Python Package Index)上超过 40 万个开源包
- 灵活性:支持虚拟环境、依赖管理、自定义打包
- 跨平台:兼容所有主流操作系统
进一步学习: