安装pandas报错处理

背景交代:在下载matplotlib库时,我已经将pip的下载源手动更改为清华的镜像,所以,如果有小伙伴在下载库遇到问题,如timeout,请先将下载源改为国内镜像,具体操作见我的另一篇文章:

安装matplotlib,进行可视化

今天的主题是安装pandas库~

首先,按田字格+R,打开cmd,输入:pip install pandas

嗯,不出所料地报错了……

安装pandas报错处理_第1张图片

主要原因:

pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.

自从安装matplotlib库之后,自我感觉已经是一只装库老鸟了,遇到time out(超时)问题,首先想到是墙的问题。但是我之前已经把下载源改到国内的清华镜像了,因该不是墙,而是网速问题。

pip默认15秒就会超时,那就延长timeout时间为100秒

命令:pip install pandas --timeout 100

额,打脸了……

安装pandas报错处理_第2张图片

主要原因,还是超时问题:

有网友说,100不够用,那就赌把大的,嗯,我准备把timeout设为5000,过一晚上再来验收~哈哈哈

还没上床,就报错了,捂脸……

安装pandas报错处理_第3张图片

ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may have tampered with them.

有大佬说了,HASHES不MATCH可能是因为运行时间太长,所有需要缩短一点timeout时间,再试一次。并且增加--upgrade命令。

命令:pip install --upgrade --default-timeout=1000 pandas

运行过于缓慢,我真的要睡了……

一大早起来,又报错了……哭……

安装pandas报错处理_第4张图片

核心问题还是timeout:

pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.

继续修改timeout参数为2000:

命令:pip install --upgrade --default-timeout=2000 pandas

虽然还是报错了,但是它有明显进步!第一个下载是完成了的~之前一直没有走完第一步……第二个下载也是完成了的,而且这次用时缩短为半个小时。

安装pandas报错处理_第5张图片

ERROR: Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问。: 'c:\\program files\\python38\\Lib\\site-packages\\pytz'

Consider using the `--user` option or check the permissions.

可见,问题出在环境上,说是没有权限,并建议在命令中添加--user选项。

尝试命令:pip install --upgrade --user --default-timeout=2000 pandas

成功了!!!

安装pandas报错处理_第6张图片

失败是成功他娘,真的不假。之前虽然一直没有成功,但是为最后这次尝试打下了较好的基础,命令一执行,几秒钟内就成功了!这速度,让人不敢相信~哈哈哈

运行过程常常出现Using cached https:.……这几个字,表示之前那些失败的尝试缓存了不少东西,所以这次执行才这么快~

检验是否真的安装成功:

没有报错,则说明真的安好了~~~~开心

关于timeout问题一点经验总结:

如果第一次报错,说timeout,那我们可以延长timeout的时间,如100秒。

如果第二次报错,还是timeout,说明第timeout延长为100可能不够用,需要继续延长,如设置为5000。

如果第三次报错,说HASH值不匹配,那有可能是我们timeout整太大,需要缩小一点,如设置为2000。

大致规律就是,如果timeout了,那就增大timeout的值,如果HASH不匹配了,那就减小timeout的值。

你可能感兴趣的:(安装pandas,python)