pip 安装第三方库报错最全解决方案

2023-05-16

原文:https://lwebapp.com/zh/post/pip-install-error-guide

问题

我们在使用 Python 开发的时候,通常会用到一些好用的第三方库,推荐用 pip 来安装,比如安装 pandas

python -m pip install pandas

一般情况下都没有什么问题,但是有些小伙伴会碰到 pip 安装第三方库报错、pip install 卡住不动等安装失败的情况。

比如以下是 pip 安装第三方库报错的代码

Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None))...

小编在这里就总结下 Python 安装第三方库失败的解决方案有哪些。

解决

方案一

Python 环境因素报错,检查你的电脑下的 Python 和 pip 是否是正常安装好的

# 打印当前Python版本
python --version

运行以上命令如果正常打印出了 Python 版本信息,表明是正常的。报错的话,可能是在 Windows 下安装 Python 的时候环境变量没有配置,可以配置下 Python 环境变量,或者直接把 Python 重新安装到 C 盘,这样就不会有环境变量的问题。

# 打印pip版本
python -m pip --version

运行以上命令如果正常打印出了 pip 版本信息,表明是正常的。报错的话,可以用这个命令安装升级下

python -m ensurepip --upgrade

如果还不能运行 pip,也可以手动安装 pip

  1. 打开 https://bootstrap.pypa.io/get-pip.py
  2. 右击页面–另存为–保存到任何地方
  3. 在 get-pip.py 文件所在目录的命令行执行 python get-pip.py就能成功安装 pip

手动安装 pip 还有个好处,可以直接使用全局 pip 来安装依赖包,比如

pip install pandas

方案二

pip 虽然正常安装了,但有时候会提示你的 pip 版本过低

WARNING: You are using pip version 22.0.3; however, version 22.0.4 is available.
You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.

运行以下命令升级 pip

python -m pip install --upgrade pip

方案三

第三方包名称或者版本号输入错误,比如我在命令行终端安装一个叫 padas 的包

python -m pip install padas

会出现以下报错

ERROR: Could not find a version that satisfies the requirement padas (from versions: none)
ERROR: No matching distribution found for padas

这个错误提示我输入了 padas,提示找不到这个包和它的版本号。这时需要检查包名称是否输入正确,正确的应该是 pandas。(当然文章发布之后,可能有开发者朋友发布了这个包,这里仅仅作为演示)

还有版本号也可能不存在的问题,比如我安装一个高版本的 pandas

python -m pip install pandas==6.5

会出现以下报错

ERROR: Could not find a version that satisfies the requirement pandas==6.5 (from versions: 0.1, 0.2, 0.3.0, 0.4.0, 0.4.1, 0.4.2, 0.4.3, 0.5.0, 0.6.0, 0.6.1, 0.7.0, 0.7.1, 0.7.2, 0.7.3, 0.8.0, 0.8.1, 0.9.0, 0.9.1, 0.10.0, 0.10.1, 0.11.0, 0.12.0, 0.13.0, 0.13.1, 0.14.0, 0.14.1, 0.15.0, 0.15.1, 0.15.2, 0.16.0, 0.16.1, 0.16.2, 0.17.0, 0.17.1, 0.18.0, 0.18.1, 0.19.0, 0.19.1, 0.19.2, 0.20.0, 0.20.1, 0.20.2, 0.20.3, 0.21.0, 0.21.1, 0.22.0, 0.23.0, 0.23.1, 0.23.2, 0.23.3, 0.23.4, 0.24.0, 0.24.1, 0.24.2, 0.25.0, 0.25.1, 0.25.2, 0.25.3, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.1.0, 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.1.5, 1.2.0, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.3.0, 1.3.1, 1.3.2, 1.3.3, 1.3.4, 1.3.5, 1.4.0rc0, 1.4.0, 1.4.1)
ERROR: No matching distribution found for pandas==6.5

很明显找不到这个版本号,而且把所有可以安装的版本号都告诉你了,我们只需要选择一个我们需要的版本号就可以,或者不指定版本号默认安装最新版本。

方案四

每个地方的网络质量、通信速度都不一样,pip 安装依赖包也会遇到网络超时问题,比如以下报错

raise ReadTimeoutError(self._pool, None, 'Read timed out.')
pip._vendor.requests.packages.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='pypi.org', port=443): Read timed out.

表明是网络超时了,提示连接到 pypi.org 出了问题,这个就是托管 python 依赖包的网站,所有的 pip 包都发布在上面。

我们可以设置加长超时时间,因为大多数地方的网络并不是完全连接不上,只是速度有点感人。这里将默认的超时时间 --default-timeout 设置为 200s

python -m pip --default-timeout=200 install pandas

设置多一点的超时时间,去喝杯茶慢慢等一等,就可能下载好了。

方案五

如果喝完茶后还没下载好,接着考虑换镜像源了,比如我们切换到清华大学的镜像源

# --index-url可以简写为-i
python -m pip install --index-url https://pypi.tuna.tsinghua.edu.cn/simple/ pandas

除了官方源和清华镜像源

  • 清华:https://pypi.tuna.tsinghua.edu.cn/simple/
  • 官方:https://pypi.org/

还有些别的镜像源可以尝试

  • 阿里云:https://mirrors.aliyun.com/pypi/simple/
  • 豆瓣:https://pypi.douban.com/simple/
  • 北京外国语大学 https://mirrors.bfsu.edu.cn/pypi/web/simple/

方案六

除了切换镜像源之外,pip 官方还提供了多种安装依赖包的途径

  1. 将依赖包提前下载好,然后从本地路径直接安装

比如我们可以从 pip 官网下载 pandas 的发行包文件,然后在本地依赖包所在目录执行安装命令。

从源码包安装

python -m pip install pandas-1.4.1.tar.gz

或者从构建包安装

# 仅用于 Windows 平台的构建包
python -m pip install pandas-1.4.1-cp310-cp310-win_amd64.whl

所有的 pandas 分发包列表:pandas download files

  1. 从任何的 VCS(version control systems 版本控制系统)安装,使用如下格式
python -m pip install -e "vcs+protocol://repo_url/#egg=pkg&subdirectory=pkg_dir"
  • vcs:版本控制系统名称
  • protocol:协议
  • repo_url:仓库地址
  • egg:包名称
  • subdirectory:如果包不在项目根目录,指定子目录名称

比如直接从 github 安装 pandas 库

python -m pip install git+https://github.com/pandas-dev/pandas.git#egg=pandas

这种方式会从 github 上拉取最新代码做本地构建,需要的时间比较长,一般也是开发版本。

官方支持非常多的版本控制系统和协议,详细查看 VCS 支持

  1. 从 github 安装还支持手动本地安装,将依赖包的 github 仓库直接 clone 下来,在项目目录中执行
python setup.py install

这样就直接安装了这个项目所构建的库,本质上和用 github 远程方式差不多,都需要做本地编译,通常用作本地开发阶段使用,或者想尝试下项目最新特性。

不过如果你通过 pip install 的方式就有网络问题,这种通过 github 安装的方式通常也有一定网络问题。

原文:https://lwebapp.com/zh/post/pip-install-error-guide

方案七

小编尝试了上面几种方案,都无法很完美的满足我的需求,

  • 虽然设置了很长的超时时间,但是有时候网络就是很慢,超时再长也很浪费时间
  • 镜像相比较官方站有一点延后的同步时间,官方 pypi.org 的依赖包最为稳定,同样的问题在前端开发的 npm 包管理中也很常见,镜像源有时候会出现不可预测的错误,而往往切换到官方源就修复了(参照 npm install 报错卡住)
  • 直接下载源码包构建的话,因为很多 Python 库都是外国人写的,网站不在本国家,访问其他国家网站的时候下载速度很慢,从 github 下载也是一样的情况(参照 github clone 很慢)

我们可以考虑一些更科学的上网方式,来加快对官方网站的访问速度。加速之后直接使用pip install安装任何第三方库,基本上几秒钟就可以完成,无需设置超时时间,不需要切换镜像源,无需担心安装包版本延迟问题,想从 pip 官网下载源码包或者使用 github 远程安装 Python 第三方库都非常快。

除此之外,还有以下好处

  • 你在访问一些 Python 第三方库的文档的时候,也可以加快访问速度,比如 pandas 官网 https://pandas.pydata.org/
  • 上 github 学习开源项目源码,使用 git clone 来拉取 github 开源项目的时候,速度提升明显
  • 使用谷歌搜索出的技术文档往往更精准,排在搜索结果前面的都是 stackoverflow 上的高赞回答,非常有用
  • 访问其他一些优秀的技术网站

更科学的方式推荐:官方网站 ➜

不太明白的请参考这位小编的 踩坑经验 ➜

参考

  • pip 安装第三方库报错最全解决方案
  • Python 官网
  • Python 安装依赖包
  • pip Installation
  • npm install 报错卡住不动怎么办,npm 安装指南
  • Python 安装 Github 包,离线包和在线包
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pip 安装第三方库报错最全解决方案 的相关文章

  • 图像特征提取(颜色,纹理,形状)

    本文主要内容转载自博客 xff1a http blog csdn net abcjennifer article details 7424971 http blog csdn net abcjennifer article details
  • latex中公式过长问题的解决

    latex中公式过长通常有以下几个解决方案 xff1a xff08 1 xff09 使用amsmath package的split环境 begin equation begin split F 61 F x in F c amp S gt
  • LATEX使用 图文混排,文字环绕插图

    插入图片时 xff0c 使用如下命令 xff1a begin wrapfigure 行数 位置 超出长度 宽度 lt 图形 gt end wrapfigure 这里行数是指图形高度所占的文本行的数目 如果不给出此选项 xff0c wrapf
  • Linux解压文件到指定目录

    tar是Linux中常用的打包 压缩 加压缩工具 xff0c tar的参数很多 xff0c 这里仅仅列举常用的压缩与解压缩参数 tar的参数 xff1a c xff1a create 建立压缩档案的参数 x xff1a 解压缩压缩档案的参数
  • SpringBoot 项目在 kubernetes 集群中启动速度过慢

    问题描述 在实际开发过程中 将 springboot 项目打成 Docker 镜像部署在 kubernetes 集群中 并启动容器实例 打开日志 发现很久才能刷一条日志 并且项目启动超过 10 分钟 如下为服务 yaml span clas
  • 结构体和文件操作

    include lt stdio h gt define NUM 3 int main struct stu char name NUM int age int score int number stu Stu NUM stu p for
  • IOS:表视图

    表视图是在iOS应用中最常见到的用户接口对象 表视图将数据以多行可滑动列表的形式展现 xff0c 并且可以以章节的形式展示 表示图有很多目的 xff1a 让用户通过分等级的结构浏览数据 呈现一个带索引的列表 通过在视觉上清晰的分组来展示详细
  • iOS UIBezierPath贝塞尔曲线常用方法

    关于 UIBezierPath UIBezierPath这个类在UIKit中 xff0c 是Core Graphics框架关于path的一个封装 xff0c 使用此类可以定义简单的形状 xff0c 比如我们常用到 xff0c 矩形 xff0
  • c++ (优化)百钱买百鸡

    问题 百钱买百鸡问题 xff1a 公鸡五文钱一只 xff0c 母鸡三文钱一只 xff0c 小鸡三只一文钱 xff0c 用100文钱买100只鸡 xff0c 公鸡 母鸡 小鸡各买多少只 第一种方法 三层循环 xff08 穷举法 xff09 s
  • JPA的@Query用法

    文章目录 64 Query作用使用例子简单使用like表达式原生sql 传参方式SPEL表达式nativeQuery 作用更新操作删除操作 64 query返回自定义字段 64 query返回自定义对象 64 Query作用 64 Quer
  • @RequestParam和@RequestPart的区别

    64 RequestPart 64 RequestPart这个注解用在multipart form data表单提交请求的方法上 支持的请求方法的方式MultipartFile xff0c 属于Spring的MultipartResolve
  • apache poi 和EasyExcel 的使用

    文章目录 apache poi隐藏sheet做下拉列表 EasyExcel超链接跳转sheet页自定义类型转换隐藏sheet做下拉列表 apache poi 官方文档 xff1a https poi apache org component
  • Spring Data JPA 中 findById、getOne、findOne 的区别

    转载文献 xff1a Spring Data JPA 中 findById getOne findOne 的区别 文章目录 1 findById 方法2 getOne 方法3 findOne 方法4 总结 1 findById 方法 spa
  • git 代码统计

    查询指定分支指定人指定时间段的代码 git log dev span class token operator span billows span class token operator span author span class to
  • ftpClient.retrieveFileStream导致FTPClient的后面操作失败

    问题代码 xff1a FTPFile fs 61 ftpClient span class hljs preprocessor listFiles span span class hljs comment span for FTPFile
  • jenkins自动化搭建测试环境

    简述 概念 Jenkins是一个功能强大的应用程序 xff0c 允许持续集成和持续交付项目 xff0c 无论用的是什么平台 这是一个免费的源代码 xff0c 可以处理任何类型的构建或持续集成 集成Jenkins可以用于一些测试和部署技术 J
  • java 使用CA认证

    本文转自 xff1a 数字证书简介及Java编码实现 CA认证原理以及实现 java CA证书制作和代码中使用 名词大意 秘钥库 xff1a 存储了公钥和私钥信息 xff0c 一个秘钥库可以存储多对的密钥对 xff08 密钥对可以理解为就是
  • 关于Java编程实现n个小球涂色的问题

    声明 xff0c 本文内容为本人原创 xff0c 可以转载 xff0c 但请注明出处 xff0c 否则将追究法律责任 xff0c 谢谢合作 xff01 把这n个小球排成一线 xff0c 然后给这n个小球涂色 xff0c 假设共有三种颜料 x
  • 获取SqlServer数据库数据,转成JSON对象

    研究了很多天 xff0c 终于能够把数据库获取的数据成功转换成jsonObject对象 重要代码 xff1a NoticeDaoImpl java try conn3 61 DBUtil getConnection st3 61 conn3
  • 图床实打实大师

    实打实大师大师

随机推荐