上一篇
如何正确安装pip管理?Python包管理工具pip使用指南
- 云服务器
- 2026-02-06
- 2115
pip 是 Python 的包管理系统,用于安装和管理 Python 包(库、模块),它是 Python 生态系统的基石,几乎每个 Python 开发者都会用到它。
以下是 pip 管理的关键方面和常用命令:
核心功能
- 安装包: 从 Python Package Index (PyPI) 或其他仓库下载并安装包及其依赖。
- 卸载包: 移除已安装的包。
- 升级包: 将已安装的包更新到最新版本或指定版本。
- 列出已安装包: 查看当前环境中安装了哪些包及其版本。
- 查看包信息: 显示包的详细信息(版本、依赖、主页等)。
- 搜索包: 在 PyPI 上搜索包(pip search 命令已因 API 限制基本废弃,建议直接在 PyPI 网站搜索)。
- 冻结依赖: 生成当前环境所有已安装包及其精确版本的列表,用于复制环境。
- 从需求文件安装: 根据 requirements.txt 文件批量安装所有指定的包及其版本。
常用命令 & 示例
-
安装包 (最新版):
-
安装特定版本的包:
pip install package_name==1.4.2 # 精确版本 pip install package_name>=1.4.2 # 最小版本 pip install package_name<=1.4.2 # 最大版本 pip install package_name~=1.4.2 # 兼容版本 (>=1.4.2, <1.5.0) -
从本地文件或 URL 安装:
pip install /path/to/somepackage.whl # 安装 wheel 文件 pip install ./downloads/somepackage.tar.gz # 安装源代码压缩包 pip install git+https://github.com/user/repo.git # 从 Git 仓库安装 pip install https://example.com/packages/somepackage.whl # 从 URL 安装 -
升级包:
pip install --upgrade package_name # 升级到最新版 pip install --upgrade package_name==2.0.0 # 升级到指定版本 -
卸载包:
pip uninstall package_name -
列出已安装的包:
pip list # 列出所有包及其版本 pip list --outdated # 列出所有可升级的包
-
查看包详细信息:
pip show package_name -
冻结依赖 (生成 requirements.txt):
pip freeze > requirements.txt
- 这会生成一个包含所有已安装包及其精确版本的文件 requirements.txt, requests==2.31.0 numpy==1.26.4 pandas==2.2.1
-
根据 requirements.txt 安装依赖:
pip install -r requirements.txt -
检查 pip 自身版本/升级 pip:
pip --version # 查看 pip 版本 python -m pip install --upgrade pip # 升级 pip (推荐方式,兼容性更好) pip install --upgrade pip # 另一种升级方式 (有时可能有问题) -
指定安装源 (镜像源加速):
pip install package_name -i https://pypi.tuna.tsinghua.edu.cn/simple # 使用清华镜像 # 其他常用国内镜像: # 阿里云: https://mirrors.aliyun.com/pypi/simple/ # 中国科技大学: https://pypi.mirrors.ustc.edu.cn/simple/ # 豆瓣: https://pypi.douban.com/simple/ # 华为云: https://repo.huaweicloud.com/repository/pypi/simple/- 可以将镜像源设置为默认(通过修改 pip 配置文件 pip.conf 或环境变量 PIP_INDEX_URL)。
-
虚拟环境 (Virtual Environments – venv, virtualenv, conda):

- 强烈建议始终在虚拟环境中使用 pip!
- 虚拟环境为每个项目创建一个隔离的 Python 环境,避免不同项目间的包版本冲突,也防止污染系统的全局 Python 环境。
- 创建虚拟环境 (venv 是 Python 3.3+ 内置模块): python -m venv my_project_env # 创建名为 my_project_env 的虚拟环境
- 激活虚拟环境:
- Windows: my_project_envScriptsactivate
- Linux/macOS: source my_project_env/bin/activate
- 激活后,命令行提示符通常会显示环境名(如 (my_project_env)),之后在此终端运行的 pip 命令只影响该虚拟环境。
- 退出虚拟环境: deactivate
-
requirements.txt 文件:
- 这是管理项目依赖的标准方式。
- 使用 pip freeze > requirements.txt 精确记录环境状态。
- 使用 pip install -r requirements.txt 在新环境(如部署服务器、新同事的电脑)中一键重建完全相同的依赖环境。
- 对于开发环境(需要测试依赖、构建工具等),可以维护一个额外的 requirements-dev.txt。
-
区分 pip 和 pip3:
- 在同时安装 Python 2 和 Python 3 的系统上,pip 通常指向 Python 2 的 pip,pip3 指向 Python 3 的 pip。
- 在只安装 Python 3 的系统上,pip 和 pip3 通常指向同一个东西。
- 在虚拟环境中,激活环境后直接使用 pip 即可,它会指向该环境对应的 Python 版本的 pip。
- 最明确的方式是使用 python -m pip ...(python -m pip install requests),这会确保使用当前 python 命令对应的 pip。
-
包安装位置:
- 全局安装: 通常安装在 Python 安装目录下的 site-packages 中 (如 C:Python39Libsite-packages 或 /usr/local/lib/python3.9/site-packages)。
- 用户安装: 使用 --user 选项 (pip install --user package_name) 会将包安装在用户主目录下的特定位置,避免需要系统权限,通常路径如 ~/.local/lib/pythonX.Y/site-packages。
- 虚拟环境安装: 安装在虚拟环境目录下的 lib/pythonX.Y/site-packages 中,这是推荐的方式。
-
依赖解析:
- pip 会自动解析并安装包所依赖的其他包。
- 依赖冲突是常见问题(包 A 需要包 C>=1.0, 包 B 需要包 C<1.0),使用虚拟环境和精确的 requirements.txt 是避免和解决冲突的关键。
- 始终在虚拟环境中工作。
- 熟练使用 pip install, pip uninstall, pip list, pip freeze。
- 使用 requirements.txt 文件管理项目依赖。
- 理解安装位置(全局 vs 用户 vs 虚拟环境)。
- 了解如何设置镜像源加速下载。
掌握 pip 是 Python 开发的基础,核心要点是:
通过有效使用 pip 和遵循这些最佳实践,你可以高效、可靠地管理 Python 项目的依赖关系。
最佳实践 & 重要概念