程序员scholar 程序员scholar
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Python 基础

    • Python基础
  • Python 进阶

    • 装饰器与生成器
    • 异常处理
    • 标准库精讲
    • 模块与包
    • pip包管理工具
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
前端 (opens new window)
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Python 基础

    • Python基础
  • Python 进阶

    • 装饰器与生成器
    • 异常处理
    • 标准库精讲
    • 模块与包
    • pip包管理工具
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
前端 (opens new window)
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
npm

(进入注册为作者充电)

  • Python 基础

  • Python 进阶

    • 装饰器与生成器
    • 异常处理
    • 标准库精讲
    • 模块与包
    • pip 包管理工具
      • 1. 检查与升级 pip
        • 1.1 检查 pip 版本
        • 1.2 升级 pip
      • 2. pip 核心命令
        • 2.1 安装包 (install)
        • 2.2 卸载包 (uninstall)
        • 2.3 查看已安装的包 (list)
        • 2.4 查看包的详细信息 (show)
        • 2.5 检查依赖兼容性 (check)
      • 3. 使用 requirements.txt 管理依赖
        • 3.1 生成 requirements.txt
        • 3.2 从 requirements.txt 安装
      • 4. pip 配置与网络优化
        • 4.1 更改 pip 下载源
        • 4.1.1 临时使用镜像源
        • 4.1.2 永久配置镜像源
        • 4.2 确认当前配置
        • 4.3 处理网络代理问题
      • 5. 虚拟环境与 pip
        • 创建和使用虚拟环境 (以 venv 为例)
      • 6. 高级安装方式
        • 6.1 从本地文件安装
        • 6.2 可编辑模式安装 (-e)
  • Python
  • Python 进阶
scholar
2025-07-23
目录

pip 包管理工具

# pip 包管理工具

pip 是 Python 的官方包安装程序,也是 Python 生态系统中最核心的工具之一。它允许你轻松地从 PyPI (Python Package Index)——一个庞大的第三方 Python 软件包存储库——查找、下载和安装你需要的库。

熟练使用 pip 是每个 Python 开发者的基本功。


# 1. 检查与升级 pip

通常,如果你安装了 Python 3.4 或更高版本的解释器,pip 已经随之一起安装了。

# 1.1 检查 pip 版本

打开你的终端或命令行,输入:

pip --version
# 或者
pip3 --version
1
2
3

提示: 在某些系统中,pip 可能指向为 Python 2 安装的 pip,而 pip3 明确指向为 Python 3 安装的 pip。建议优先使用 pip3 或使用 python -m pip 来确保你正在为正确的 Python 版本安装包。

# 1.2 升级 pip

pip 本身也是一个包,可以被升级。保持 pip 为最新版本是一个好习惯,因为新版本通常会带来性能提升和功能改进。

# Windows
python -m pip install --upgrade pip

# macOS / Linux
pip3 install --upgrade pip
1
2
3
4
5

# 2. pip 核心命令

# 2.1 安装包 (install)

这是最常用的命令。

# 安装最新版本的包
pip install requests

# 安装特定版本的包
pip install requests==2.25.1

# 安装最低版本要求
pip install requests>=2.20

# 安装一个范围内的版本
pip install "requests>2.0,<3.0"
1
2
3
4
5
6
7
8
9
10
11

# 2.2 卸载包 (uninstall)

移除一个已经安装的包。

pip uninstall requests
1

pip 会显示将要被删除的文件并请求确认,输入 y 即可。

# 2.3 查看已安装的包 (list)

列出当前环境中所有已安装的包及其版本。

pip list
1

# 2.4 查看包的详细信息 (show)

显示指定包的详细信息,包括版本、作者、依赖关系等。

pip show requests
1

# 2.5 检查依赖兼容性 (check)

检查已安装的包之间是否存在版本不兼容的依赖关系。

pip check
# 如果一切正常,会输出:No broken requirements found.
1
2

# 3. 使用 requirements.txt 管理依赖

在项目中,手动一个一个地安装依赖包是非常低效且不可靠的。最佳实践是使用一个 requirements.txt 文件来记录项目的所有依赖。

# 3.1 生成 requirements.txt

pip freeze 命令可以输出当前环境中所有已安装包的精确版本列表。我们可以将其重定向到一个文件中。

pip freeze > requirements.txt
1

最佳实践:为了保持 requirements.txt 的干净,强烈建议在虚拟环境中使用 pip freeze,这样可以确保只包含当前项目必需的依赖,而不会混入全局环境中其他的包。

# 3.2 从 requirements.txt 安装

当你拿到一个新项目,或者需要在一个新的环境中部署时,可以使用 -r 或 --requirement 标志来一次性安装所有依赖。

pip install -r requirements.txt
1

# 4. pip 配置与网络优化

# 4.1 更改 pip 下载源

由于网络原因,直接从官方 PyPI 下载包有时会很慢。我们可以将 pip 的下载源更改为国内的镜像服务器,以显著提高下载速度。

# 4.1.1 临时使用镜像源

在 pip install 命令中使用 -i 参数,可以临时指定一个镜像源。

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
1

# 4.1.2 永久配置镜像源

Windows:

  1. 在用户目录下 (例如 C:\Users\YourUsername) 创建一个名为 pip 的文件夹。
  2. 在 pip 文件夹内创建一个 pip.ini 文件。
  3. 在 pip.ini 文件中写入以下内容:
    [global]
    index-url = https://pypi.tuna.tsinghua.edu.cn/simple
    
    1
    2

macOS / Linux:

  1. 在你的用户主目录下创建 .pip 文件夹:mkdir ~/.pip
  2. 在 ~/.pip/ 目录下创建一个 pip.conf 文件。
  3. 在 pip.conf 文件中写入以下内容:
    [global]
    index-url = https://pypi.tuna.tsinghua.edu.cn/simple
    
    1
    2

常用国内镜像源:

  • 清华大学: https://pypi.tuna.tsinghua.edu.cn/simple
  • 阿里云: https://mirrors.aliyun.com/pypi/simple/
  • 中国科技大学: https://pypi.mirrors.ustc.edu.cn/simple/
  • 豆瓣: http://pypi.douban.com/simple/

# 4.2 确认当前配置

想知道当前的 pip 配置(例如,正在使用哪个镜像源)?可以使用 pip config list 命令。

pip config list
1

它会列出所有生效的配置及其来源文件。

# 4.3 处理网络代理问题

如果你在公司或学校等有网络代理的环境中,或者使用了 VPN,可能会遇到 ProxyError。

解决方案 1:临时绕过代理 在 pip 命令后添加 --proxy "" 参数,表示本次操作不使用任何代理。

pip --proxy "" install requests
1

解决方案 2:配置 pip 使用代理 如果必须通过代理访问网络,可以配置 pip 使用它。

# 临时指定
pip install --proxy http://user:password@proxy.server:port requests

# 永久配置 (写入 pip.ini 或 pip.conf)
# [global]
# proxy = http://user:password@proxy.server:port
1
2
3
4
5
6

如果代理不需要用户名和密码,则格式为 http://proxy.server:port。


# 5. 虚拟环境与 pip

虚拟环境 (Virtual Environments) 是 Python 开发中的一个至关重要的概念。它允许你为每个项目创建一个独立的、隔离的 Python 环境。

  • 为什么需要虚拟环境?
    • 依赖隔离:项目 A 可能需要 requests==2.20,而项目 B 需要 requests==2.28。虚拟环境可以防止这种版本冲突。
    • 保持全局环境清洁:避免将所有包都安装到全局 Python 环境中,使其变得混乱。
    • 项目可复现性:结合 requirements.txt,可以确保其他开发者或部署服务器能够精确地复制你的开发环境。

# 创建和使用虚拟环境 (以 venv 为例)

从 Python 3.3 开始,venv 模块已成为标准库的一部分。

  1. 创建虚拟环境 在你的项目目录下,运行:

    # venv 是你给虚拟环境起的名字,通常就叫 venv
    python -m venv venv 
    
    1
    2
  2. 激活虚拟环境

    • Windows:
      .\venv\Scripts\activate
      
      1
    • macOS / Linux:
      source venv/bin/activate
      
      1
      激活后,你的命令行提示符前会显示 (venv),表示你正处于虚拟环境中。
  3. 在虚拟环境中使用 pip 激活后,你使用的 pip 命令将只对当前虚拟环境生效。

  4. 退出虚拟环境

    deactivate
    
    1

# 6. 高级安装方式

# 6.1 从本地文件安装

有时你需要安装一个本地的包,例如一个 .whl (Wheel) 文件或 .tar.gz 源码包。

# 安装 wheel 文件
pip install some_package-1.0-py3-none-any.whl

# 安装源码包
pip install some_package-1.0.tar.gz
1
2
3
4
5

# 6.2 可编辑模式安装 (-e)

在开发一个 Python 包时,这个命令非常有用。它会以“可编辑”模式安装你的项目。 假设你的项目结构如下:

my_project/
├── setup.py
└── my_package/
    └── __init__.py
1
2
3
4

在 my_project 目录下运行:

pip install -e .
1

这会在你的环境中创建一个指向项目代码的链接。这意味着,你在项目中对 .py 文件所做的任何修改,都会立即生效,无需重新安装。这极大地提高了开发效率。

编辑此页 (opens new window)
上次更新: 2025/07/23, 07:33:47
模块与包

← 模块与包

Theme by Vdoing | Copyright © 2019-2025 程序员scholar
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式