如何解决pip install安装太慢的问题

开发工具 潘老师 1个月前 (03-11) 475 ℃ (0) 扫码查看

在咱们日常开发Python项目的时候,经常会碰到pip install安装依赖库速度慢的问题,今天就来给大家分享一些超实用的解决办法,让安装速度起飞。

一、利用国内镜像加速安装(强烈推荐)

国内有不少镜像源,用它们来安装,速度能快很多。下面给大家列举几个常用的:

# 清华大学镜像源(综合速度最佳)
pip install ultralytics==8.2.0 -i https://pypi.tuna.tsinghua.edu.cn/simple 

这条命令就是用清华大学的镜像源来安装ultralytics库,版本指定为8.2.0 。清华的镜像源在综合速度方面表现很出色,大部分情况下都能让安装速度大幅提升。

# 阿里云镜像源(适合华东地区)
pip install ultralytics==8.2.0 -i http://mirrors.aliyun.com/pypi/simple/

要是你在华东地区,阿里云的镜像源可能更适合你。它能利用地域优势,让安装速度更快。

# 豆瓣镜像源(备用选项)
pip install ultralytics==8.2.0 -i http://pypi.douban.com/simple

豆瓣镜像源可以当作备用方案。要是前面两个镜像源在某些情况下不太好用,就可以试试这个。

二、全局配置镜像源

不想每次安装都手动指定镜像源的话,可以进行全局配置。这样以后不管安装啥库,都能自动从指定的镜像源下载。

Linux/Mac系统

# 永久设置镜像源(Linux/Mac)
cat <<EOF >> ~/.pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
EOF

这段代码的作用是在用户主目录下的.pip文件夹里的pip.conf文件中添加配置信息,指定默认的镜像源为清华大学的镜像源。

Windows系统

  1. 新建目录C:\Users\你的用户名\pip
  2. 创建pip.ini文件,内容和上面Linux/Mac系统的配置一样。

三、多线程下载

除了镜像源,还可以通过多线程下载的方式来加速安装。这就需要借助一个插件。

# 使用 pip 多线程加速插件(先安装加速工具)
pip install pip -U  # 升级 pip 到最新版
pip install pip_accelerate

先把pip升级到最新版本,然后安装pip_accelerate这个插件,为多线程下载做准备。

# 启动多线程下载(默认8线程)
pip install ultralytics==8.2.0 --use-accelerate -i https://pypi.tuna.tsinghua.edu.cn/simple

这条命令就是用多线程来安装ultralytics库,默认开启8个线程同时下载,速度会比单线程快很多。

四、分步安装

有些库的依赖比较复杂,这时候可以采用分步安装的策略。

# 1. 优先安装大体积依赖(单独下载)
pip install torch==2.2.1 torchvision==0.17.1 -f https://download.pytorch.org/whl/torch_stable.html

先把体积比较大的依赖库单独下载安装,比如torchtorchvision ,这样可以避免在安装主库的时候因为网络问题导致整个安装过程失败。

# 2. 再安装其他依赖
pip install ultralytics==8.2.0 --no-deps  # 跳过主依赖安装

跳过主库的依赖安装,先把主库安装上。

# 3. 补全依赖(可选)
pip install -r <(pip show ultralytics | grep Requires | cut -d: -f2)

如果有需要,最后再把缺失的依赖补全。

五、离线安装

要是处于内网环境,没办法直接联网下载,那就可以试试离线安装。

# 1. 在外网机器下载所有依赖
pip download ultralytics==8.2.0 -d ./yolo_pkg -i https://pypi.tuna.tsinghua.edu.cn/simple

在外网的机器上,把ultralytics库及其所有依赖都下载下来,存到./yolo_pkg这个目录里。
2. 把下载好的.whl文件(大概有500MB)拷贝到目标内网机器上。

# 3. 离线安装
pip install --no-index --find-links=./yolo_pkg ultralytics

在内网机器上,通过指定下载好的文件目录来进行离线安装。

六、代理加速

在企业VPN环境下,可以通过设置代理来加速安装。

# 临时启用代理(需替换实际代理地址)
pip install ultralytics==8.2.0 --proxy=http://user:password@proxy.server.com:8080

这条命令就是临时启用代理进行安装,记得把代理地址、用户名和密码替换成实际的。

# 永久设置代理(Linux/Mac)
export http_proxy=http://proxy.server.com:8080
export https_proxy=http://proxy.server.com:8080

在Linux/Mac系统上,还可以设置永久代理,这样以后安装都能走代理。

七、最小化安装

如果只需要库的核心功能,不想下载那些非必要的依赖,可以采用最小化安装的方式。

# 跳过非必要依赖(减少60%下载量)
pip install ultralytics==8.2.0 --no-deps --extra-index-url https://pypi.tuna.tsinghua.edu.cn/simple

用这条命令安装,可以跳过非必要的依赖,能减少大概60%的下载量。

# 手动安装必要依赖
pip install numpy>=1.22.2 matplotlib>=3.3.0

安装完主库后,再手动把一些必要的依赖库装上。

八、不同方法下载速度对比

为了让大家更直观地了解不同方法的效果,这里给大家列个对比表:

方法 平均速度 耗时(100Mbps带宽) 可靠性
官方源 200KB/s 8分钟
国内镜像 8MB/s 15秒
多线程加速 12MB/s 10秒
离线安装 本地速度 5秒 最高

从表中可以看出,使用国内镜像、多线程加速和离线安装等方法,都能大幅提升安装速度。

九、常见问题及解决办法

在安装过程中,可能会遇到一些问题,下面给大家讲讲怎么解决。

1. 证书错误问题

# 添加信任参数
pip install ultralytics --trusted-host pypi.tuna.tsinghua.edu.cn

如果遇到证书错误,加上--trusted-host参数,指定信任的主机,就能解决这个问题。

2. 版本冲突解决

# 创建虚拟环境(推荐)
python -m venv yolo_env
source yolo_env/bin/activate  # Linux/Mac
yolo_env\Scripts\activate    # Windows

要是遇到版本冲突,创建一个虚拟环境是个不错的办法。不同的项目在各自的虚拟环境里安装依赖,就不会相互影响了。

3. 断点续传方法

# 使用 pip 缓存继续下载
pip install ultralytics==8.2.0 --no-cache-dir  # 先清空错误缓存

如果下载过程中断了,想继续下载,可以先清空错误缓存,然后利用pip的缓存机制继续下载。

十、高级加速方案:CDN优化

还有一种高级的加速方案,就是通过CDN优化来加速下载。不过这需要安装第三方工具。

# 使用开源加速服务(需安装第三方工具)
# 1. 安装加速客户端
pip install openx-cli

先安装openx-cli这个加速客户端。

# 2. 启动加速下载
openx install ultralytics==8.2.0

安装好客户端后,就可以用这个命令来启动加速下载了。

按照上面这些方法来操作,90%以上的小伙伴都能在30秒内完成安装。要是还遇到问题,不妨试试指定旧版本的依赖,比如:

pip install ultralytics==8.2.0 "numpy<1.25" "protobuf<4.24"

希望这些方法能帮大家解决pip install安装太慢的问题和一些异常情况的解决办法,如有疑问,欢迎留言!


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/tool/15767.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】