pip 是 Python 官方推荐的包安装工具,绝大多数第三方库都可以通过它一条命令安装完成。掌握好 pip,就等于握住了 Python 生态大门的钥匙。
pip 核心用法
以下是最常用、最基础的 pip 命令,建议直接在终端里上手试:
- 安装包
pip install requests
默认安装最新版,会自动处理依赖。也可以指定版本:
pip install requests==2.28.2
- 卸载包
pip uninstall requests
- 列出已安装的包
pip list
- 查看包的详细信息
pip show requests
会显示版本、依赖、安装位置等。
- 升级包
pip install --upgrade requests
- 从镜像源安装(国内加速必备)
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
- 安装 .whl 或 .tar.gz 文件
pip install ./some-package.whl
- 一次安装多个包
pip install flask pandas numpy
依赖版本管理
版本管理是防止“在我机器上明明能跑”这类问题的重要保障。pip 支持灵活的版本约束符号:
- 固定版本:
requests==2.28.2 - 不低于某版本:
requests>=2.28.2 - 兼容版本:
requests~=2.28.2表示允许 2.28.2 及以上,但不升级大版本号的补丁版本(即>=2.28.2, ==2.28.*) - 不高于某版本:
requests<3.0 - 排除某版本:
requests!=2.28.0 - 组合约束:
requests>=2.25,<3.0,!=2.28.0
在项目中通常不手动敲这些符号,而是将它们写入一个文件统一管理。
requirements.txt
requirements.txt 是最简单、最通用的依赖文件格式,记录了项目所需的包和版本。配合 pip 可以一键还原整个开发环境。
生成 requirements.txt
- 精确导出当前环境所有包(含间接依赖)
pip freeze > requirements.txt
这会把所有包及其精确版本写入文件,例如:
requests==2.28.2
urllib3==1.26.12
certifi==2022.12.7
...
- 只导出项目直接依赖(推荐用
pip-tools等工具,但纯 pip 无法自动区分)
从 requirements.txt 安装
拿到一个项目的 requirements.txt 后,新建一个虚拟环境,然后执行:
pip install -r requirements.txt
所有列出的包就会被安装上,环境马上可用。
手动编写 requirements.txt
你也可以自己写文件,每行一个包,可以用上面提到的版本约束语法:
flask>=2.0,<3.0
requests~=2.28.0
gunicorn==20.1.0
pytest
最佳实践小贴士
- 使用虚拟环境后立即
pip freeze,避免把全局环境的无关包泄露进去。 - 将
requirements.txt提交到 Git,确保团队环境一致。 - 在生产部署时,强烈建议使用固定版本(
==)来避免自动升级带来的意外。 - 日常开发中可以使用
requirements-dev.txt等文件单独存放测试、格式化等开发相关依赖。