pip install速度太慢的多种解决方案

目录

    • 问题描述
    • 为什么 pip 速度这么慢?
    • 解决方案
      • 1. 使用国内镜像源
      • 2. 配置多个镜像源
      • 3. 使用第三方工具
      • 4. 手动下载后本地安装
      • 5. 优化网络环境
      • 6. 更新 pip 版本
    • 测试效果


问题描述


在使用 Python 进行开发时,我们经常需要使用 pip 来安装第三方库。然而,很多情况下 pip install 非常慢,甚至可能无法完成。如下图所示,安装 pandas 库的速度仅 10.2 kB/s:

在这里插入图片描述

为什么 pip 速度这么慢?


pip是一个非常流行的python包管理工具,在命令行中只需要输入pip install package_name,就可以自动安装第三方库。然而pip是从pypi中下载库文件的,pypi是python官方第三方库的仓库(下图),它用的是国外的服务器,下载速度自然很慢。所以不是pip慢,而是pypi慢。

在这里插入图片描述

问题出在 pip 源上,那么只需要把pip的下载源修改为国内的镜像站即可。

在这里插入图片描述

解决方案


1. 使用国内镜像源

国内许多知名高校和企业提供了 pip 镜像服务,速度相对较快。以下是几个常用的国内镜像源:

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

以清华大学 tuna 镜像源为例,你可以临时使用永久配置国内的镜像源来加速下载。

# 临时使用
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple package_name# 永久配置
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

如下图所示,我这里永久更改镜像源:

在这里插入图片描述

永久更改完成后,会在上图红框的路径下生成一个配置文件,内容如下图所示。这样配置后,每次使用 pip install 时都会默认使用这个镜像源。

在这里插入图片描述
同理,你可以选择直接编辑 pip 配置文件,以永久更改默认源。不同操作系统的配置文件默认地址如下:

  • Windows: C:\Users\<用户名>\pip\pip.ini
  • macOS/Linux: ~/.pip/pip.conf

2. 配置多个镜像源

如果希望 pip 能够尝试多个镜像源以提高下载成功率,可以在配置文件中添加多个 extra-index-url:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
extra-index-url = https://pypi.douban.com/simple
extra-index-url = https://mirrors.aliyun.com/pypi/simple/

3. 使用第三方工具

使用如 pipx 或 Poetry 等第三方工具,这些工具通常有更好的缓存机制和更优的依赖管理。

4. 手动下载后本地安装

对于特别大的包,可以在 PyPi等官方源网站 手动下载 .whl 文件或源代码包,然后使用 pip 进行本地安装:

pip install /path/to/package.whl

5. 优化网络环境

确保网络连接稳定,如果可能,使用有线连接代替无线连接。此外,尝试使用网络加速器或 VPN 也可能有所帮助(因为pip默认源是国外服务器)。

6. 更新 pip 版本

使用最新版本的 pip 可能会获得更好的性能和错误修复:

pip install --upgrade pip

测试效果


以清华大学 tuna 镜像源为例,完成永久配置镜像源后再次尝试下载依赖包,速度接近 1MB/s,是默认源的几十甚至上百倍:

在这里插入图片描述


创作不易,麻烦点点赞和关注咯!

学术会议征稿
  • 想要了解国内主办的覆盖学科最全最广的学术会议,请前往【所有会议官网】:
    学术会议官网www.ais.cn

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/72715.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java阻塞队列深度解析:高并发场景下的安全卫士

一、阻塞队列的核心价值 在电商秒杀系统中&#xff0c;瞬时涌入的10万请求如果直接冲击数据库&#xff0c;必然导致系统崩溃。阻塞队列如同一个智能缓冲带&#xff0c;通过流量削峰和异步解耦两大核心能力&#xff0c;成为高并发系统的核心组件。 二、Java阻塞队列实现类对比 …

基于RapidOCR与DeepSeek的智能表格转换技术实践

基于RapidOCR与DeepSeek的智能表格转换技术实践 一、技术背景与需求场景 在金融分析、数据报表处理等领域&#xff0c;存在大量图片格式的表格数据需要结构化处理。本文介绍基于开源RapidOCR表格识别与DeepSeek大模型的智能转换方案&#xff0c;实现以下典型场景&#xff1a; …

django中视图作用和视图功能 以及用法

在 Django REST Framework(DRF)中,视图(View)是处理 HTTP 请求并返回响应的核心组件。DRF 提供了多种视图类,适用于不同的场景和需求。以下是 DRF 中常见的视图类及其作用、使用方法的详细说明: 一、DRF 视图的分类 DRF 的视图可以分为以下几类: 基于函数的视图(Func…

希音(Shein)前端开发面试题集锦和参考答案

用 Node 写过什么工具或 npm 包 在实际开发中,使用 Node 编写过多种实用工具和 npm 包。 自动化构建工具 开发了一个简单的自动化构建工具,用于处理前端项目的资源压缩和合并。在前端项目中,为了优化性能,需要对 CSS 和 JavaScript 文件进行压缩,减少文件体积,同时将多个…

C语言100天练习题【记录本】

C语言经典100题&#xff08;手把手 编程&#xff09; 可以在哔哩哔哩找到 已解决的天数&#xff1a;一&#xff0c;二&#xff0c;五&#xff0c;六 下面的都是模模糊糊的 可以学学这些算法&#xff0c;我是算法白痴&#xff0c;但是我不是白痴&#xff0c;可以学&#xff…

迷你世界脚本文字板接口:Graphics

文字板接口&#xff1a;Graphics 彼得兔 更新时间: 2024-08-27 11:12:18 具体函数名及描述如下: 序号 函数名 函数描述 1 makeGraphicsText(...) 创建文字板信息 2 makeflotageText(...) 创建漂浮文字信息 3 makeGraphicsProgress(...) 创建进度条信息…

Crawl4AI: 赋能AI用户的开源智能网页爬虫与数据提取

Crawl4AI: 赋能AI用户的开源智能网页爬虫与数据提取 在当今人工智能时代&#xff0c;网络爬虫扮演着至关重要的角色。它们不仅是数据收集的强大工具&#xff0c;更是驱动机器学习、自然语言处理等技术发展的关键引擎。 然而&#xff0c;对于用户来说&#xff0c;在面对复杂多…

下载b站视频音频

文章目录 方案一&#xff1a;jjdown如何使用 方案二&#xff1a;bilibili哔哩哔哩下载助手如何使用进入插件网站插件下载插件安装 使用插件下载视频音频&#xff1a;复制音频下载地址 方案三&#xff1a;bat命令下载单个音频下载单个视频下载单个音视频 方案一&#xff1a;jjdo…

【Git】linux搭建Gitea配置mysql数据库

WindowsServer搭建内网Gitea【中文更方便使用】 1. 安装Gitea # 下载 wget https://dl.gitea.io/gitea/1.23.5/gitea-1.23.5-linux-amd642. 创建用户 # 创建 gitea 用户 sudo adduser --system --shell /bin/bash --comment Git Version Control --create-home --home-dir /…

AI绘画软件Stable Diffusion详解教程(6):文生图、提示词细说与绘图案例

文生图即以文字描述来生成图像&#xff0c;这是目前所有AI绘画软件的基本功能之一。要想画一副好的图片&#xff0c;除了选择好的模型&#xff0c;在文生图中&#xff0c;提示词特别关键。 一、什么是提示词&#xff08;Prompt&#xff09; 提示词又称创意、关键词、咒语、ca…

MATLAB实现遗传算法优化风电_光伏_光热_储热优化

1. 问题定义 目标&#xff1a;最小化输出负荷与需求负荷的偏差平方和。决策变量&#xff1a;每个时间步长的风电、光伏、光热和储热输出功率。约束条件&#xff1a; 风电、光伏、光热的输出功率不得超过其最大容量。储热系统的输出功率&#xff08;充放电&#xff09;不得超过…

Ubuntu20.04本地配置IsaacLab 4.2.0的G1训练环境(一)

Ubuntu20.04本地配置IsaacLab的G1训练环境&#xff08;一&#xff09; 配置Omniverse环境配置IsaacSim配置IsaacLab 写在前面&#xff0c;如果Ubuntu剩余空间低于60G&#xff0c;则空间不足&#xff0c;除非你不需要资产包。但资产包中却包含了G1模型、Go2模型等机器人模型和代…

Linux文管读写书签

文件&#xff1a;~/.config/gtk-3.0/bookmarks 格式&#xff1a;file://路径 名称&#xff0c;每个一行。 QTreeWidgetItem清空item所有子节点 读取书签 void MainWindow::genBookmark() {QString fp QStandardPaths::writableLocation(QStandardPaths::ConfigLocation) &…

芋道打包时报错:缺失@unocss插件

在遇到打包时&#xff0c;报这个错误&#xff0c;提示构建失败是因为 ESLint 在加载 unocss 插件时&#xff0c;找不到 unocss/eslint-plugin 模块 解决办法&#xff1a;安装缺失的依赖&#xff1a;保证unocss/eslint-plugin已经被正确安装&#xff0c; 使用以下命令安装&…

【JAVA架构师成长之路】【JVM实战】第2集:生产环境内存飙高排查实战

课程标题:生产环境内存飙高排查实战——从堆转储到代码修复的15分钟指南 目标:掌握内存泄漏与OOM问题的系统性排查方法,快速定位代码或配置缺陷 0-1分钟:问题引入与核心现象 线上服务内存持续增长,触发频繁Full GC甚至OOM(OutOfMemoryError),导致服务崩溃。常见诱因:…

PROFINET转PROFIBUS从案例剖析网关模块的协议转换功能

一、 案例背景 在当下追求高效协同的工业自动化生产体系里&#xff0c;设备间的无缝互联互通堪称关键要素。某企业的生产车间中&#xff0c;有一台性能稳定的变频器&#xff0c;其配备的是PROFIBUS接口。与此同时&#xff0c;操控整个生产线的核心大脑——西门子1500 PLC&…

flutter环境最新踩坑

## Flutter 开发常见问题排查与解决 ### 1. 项目初始化与依赖问题 bash # 清理项目 flutter clean # 获取依赖 flutter pub get # 详细日志运行 flutter run -v ### 2. 网络和下载问题 - 网络慢可能导致依赖下载卡住 - 使用 -v 参数可查看详细日志 - 检查网络连接 - 可以尝…

xss笔记与打靶(更新中)

这个文章好 https://blog.csdn.net/huangyongkang666/article/details/123624164?fromshareblogdetail&sharetypeblogdetail&sharerId123624164&sharereferPC&sharesource2401_88818565&sharefromfrom_link 什么是xss XSS&#xff08;跨站脚本攻击&…

Visual Studio 2022新建c语言项目的详细步骤

步骤1&#xff1a;点击创建新项目 步骤2&#xff1a;到了项目模板 --> 选择“控制台应用” (在window终端运行代码。默认打印"Hello World") --> 点击 “下一步” 步骤3&#xff1a;到了配置新项目模块 --> 输入“项目名称” --> 更改“位置”路径&…

SQL进阶技巧:上课时长计算

目录 0 问题描述 1 数据准备 2 问题解决 核心难点 时间区间标记与分组 区间合并与时长计算