使用pip安装python软件包遇到的常见问题#较长#总结

文章讲述了在Python环境中使用pip安装特定版本库时可能遇到的网络超时问题,以及解决方案,包括切换到国内镜像源如清华源以加速下载,处理批量安装时的版本不兼容或缺失问题,以及如何下载和改名whl文件进行手动安装。此外,还提到在不同Python版本间切换时需注意解释器和安装包的对应关系。
摘要由CSDN通过智能技术生成

1.极简版

比如说安装aiohttp3.7.3:

命令格式pip install aiohttp==3.7.3

如果使用pycarm这样的集成开发环境,根据报错提示使用可视化操作安装效果是一样的;

但是,前提条件一定是配置好python的环境路径,或者在终端或命令行里进入python.exe的文件路径下;

一般的,此番操作最后会报错:看最后的提示有“Read timed out”;默认使用国外的老家服务器的同时没有科技与狠活儿,连接超时几乎是必然的。

2.国内镜像源

清华镜像源https://pypi.tuna.tsinghua.edu.cn/simple

豆瓣镜像源https://pypi.douban.com/simple

阿里镜像源http://mirrors.aliyun.com/pypi/simple

华为镜像源https://repo.huaweicloud.com/repository/pypi/simple

不知道什么源https://www.lfd.uci.edu/~gohlke/pythonlibs

添加国内镜像源

命令格式:pip install --index-url https://pypi.tuna.tsinghua.edu.cn/simple cryptography==3.3.1

网络上也有许多直接更改默认镜像源的教程,但是如果生产实践中需要批量安装,反而容易出现问题:

原因在于,镜像源上的安装包版本虽然多,个别时候确实没有你需要的那个版本;

你执行了批量安装的命令:pip install --index-url https://pypi.tuna.tsinghua.edu.cn/simple jdcal1.4.1 lazy-object-proxy1.4.3 MarkupPy1.14 maxminddb2.0.3 mccabe0.6.1 multidict5.1.0

或:pip install --index-url https://pypi.tuna.tsinghua.edu.cn/simple/ -r requirements.txt

正在惬意的欣赏进度条和提示欢快跳跃,此时安装进度突然卡死,心里咯噔一下,坐直了身子,又过了30秒,不出意料的报错(具体报错提示忘了)。

这种情况下就是在一串报菜名一样的安装包里,有一个出了问题,不是版本不兼容就是镜像源里并没有这位小可爱,前面已经安装成功的包不会丢失,但是从那个失败的包往后都不会被安装。重点是,在这个批量安装的过程中,你根本不清楚安装终止在哪个包前面,当然我观察pycharm不到一分钟就可以找到问题,仅提醒条件有限的情况下慎重选择批量安装指令,全看个人的权衡。

下载并修改、安装whl文件

初次接触时首先必须确认wheel有没有安装

Ctrl+F 输入安装包名查找

源https://www.lfd.uci.edu/~gohlke/pythonlibs里面就是没有typed_ast1.4.2

在这里插入图片描述

上清华源找一找,根目录的网址卡慢的很,后来才发现,往URL后**添加\‘安装包名’**就可以很清爽的进去了,骑驴找驴非笨是蠢;eg:https://pypi.tuna.tsinghua.edu.cn/simple/yarl

如何判断需要下载哪个版本呢?对应的系统后缀可以自行查找一下,我的win10 64位一般选择win_amd64;

前面的cp,应该是对应着解释器版本和平台版本的;

执行命令pip debug --verbose,在**Compatible tags:**下面就可以找到自己电脑上解释器可以匹配的版本;

可是又遇到了找不到对应版本的问题,你想安装mutidict5.1.0,就是没有能对应的版本,可以下载一个文件名尽可能重合的再重命名,我尝试的几次几乎没有失败的情况,有其他报错也可以根据提示查找一下;

eg:将multidict-5.1.0-cp37-cp37m-win_amd64.whl改为multidict-5.1.0-cp310-cp310-win_amd64.whl

最后安装:pip install D:/multidict-5.1.0-cp310-cp310-win_amd64.whl 路径是.whl放置的路径

3.不同版本的解释器下面

我们知道安装包是跟随解释器目录的,因此更换解释器版本就意味着安装包的丢失,例如做py3.7到3.10的升级,同样的项目下需要重新安装软件包,可是pip指令的环境变量仍旧是旧解释器的路径,不加改变的命令执行后只会提示“satisfied”;

对此网络上的帖子有说把环境变量的顺序改变一下即可,将新路径放置在旧路径的上面,但是我的机器不吃这一套,而且对于操作系统我并不是多熟悉,本着快速解决问题的原则我依然选择通过命令行来解决;

打开命令提示符(默认的路径下面),先输入操作的解释器的路径,再执行pip操作

eg:C:\…\Python\Python37\python.exe -m pip install --index-url https://pypi.douban.com/simple PyMySQL==0.10.1

这样命令较长,肯定不是最优的方法,进入对应目录后操作应该也是可以的,还不是很清楚python.exe和pip的关系。日后一定需要不断地思考和尝试

其实在这两天解决问题的过程中还有很多遇到的报错没有总结,主要是印象不深了,当然查一下也能了解七七八八,要不断提升自己独立解读报错的能力;

珍惜时间,珍惜实践,珍惜每一次学习后总结的机会。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值