关于python:Python-pip-安装第三方库报错

10次阅读

共计 4456 个字符,预计需要花费 12 分钟才能阅读完成。

原文:https://lwebapp.com/zh/post/p…

问题

咱们在应用 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…
  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/p…

计划七

小编尝试了下面几种计划,都无奈很完满的满足我的需要,

  • 尽管设置了很长的超时工夫,然而有时候网络就是很慢,超时再长也很浪费时间
  • 镜像相比拟官网站有一点延后的同步工夫,官网 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 包, 离线包和在线包
正文完
 0