前言
在Python开发中,需要安装一下包、依赖库或软件等,有时出现网络、权限和无法安装等问题困扰着我们,经历过一段时间的洗礼,悟出了一些要点分享给大家。
一、pip命令
1)指定国内下载源---加速下载
背景
有时使用pip安装依赖库或软件时,看到10KB~30KB的速度下载,真的是恨铁不成刚,为什么不能快一些呢;明明电脑下载时都有1M~3M的,感到无奈,一直在等待安装。
分析
如果排除是电脑本身网络速度慢问题,那很有可能是安装依赖库或软件是外网的,需要从外网那里获取;这样自然就很慢啦
解决方法
发现问题是需要从外网获取,那么如果国内中有,我们从国内中获取就可以啦;速度会有质的飞跃。
pip install xxxx -i https://pypi.mirrors.ustc.edu.cn/simple
xxxx 为要安装的依赖库或软件名称,例如:要安装numpy,即 pip install numpy -i https://pypi.mirrors.ustc.edu.cn/simple
-i 是指定下载源 ,其后面是下载源的地址 ,即:阿里云 https://pypi.mirrors.ustc.edu.cn/simple
可选的国内源:
(1)阿里云 https://mirrors.aliyun.com/pypi/simple/
(2)豆瓣https://pypi.douban.com/simple/
(3)清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
(4)中国科学技术大学 https://pypi.mirrors.ustc.edu.cn/simple/
(5)华中科技大学https://pypi.hustunique.com/
2)指定安装特定版本的
背景
在安装一下配套的软件(依赖库)时需要考虑版本兼容性,否则很可能导致无法使用
分析
我们首先查清楚依赖的是什么版本,例如需要安装opencv3.4,而不是opencv4.2;然后在pip中指定版本来安装就可以啦
解决方法
先查看本机能安装那些版本的
pip install xxxx==
挑选合适的版本安装
pip install xxxx==3.4.3.18
例如:在python开发环境中安装opencv 3.4.3.18
pip install opencv-python== #查看opencv-python有那些版本可以安装
pip install opencv-python==3.4.3.18 #安装3.4.3.18版本的opencv
3)指定Python2或Python3安装
背景
在Ubuntu系统中,默认为我们安装了两个Python;一个是Python2.7,另一个是Python3.x ,这里温馨提醒一下不要擅自卸载其中一个Python,很可能导致系统出错最终重装系统收场;有时候需要安装在安装在Python3中,而不是Python2。
分析
如果有多个版本的Python,那我们在安装软件时指定Python的版本来安装就可以啦
解决方案
指定Python2.7安装依赖库或软件
python2.7 -m pip install xxxx
或 python2 -m pip install xxxx
4)pip使用是遇到权限问题
背景
在Ubuntu中,使用pip安装一些一些依赖库时,会报权限问题;这些可能会想到用sudo不久可以了吗?是的,部分情况下确实可以使用sudo来安装。但是在不能使用sudo的情况下,如果解决这个权限问题呢?
分析
例如在docker中使用pip安装,如果使用了sudo会导致部分资源无权限使用
解决方案
添加--user
pip install opencv-python==3.4.3.18 --user
彩蛋----查看python安装了哪些库、模块
1)pip list 或者 pip freeze all
2)help('modules')
3)如果是windows的系统,参考:https://www.cnblogs.com/gitwow/p/10706257.html
二、apt-get命令
1)修改国内软件源
背景
有时使用apt-get安装依赖库或软件时,看到15KB~40KB的速度下载,真的是恨铁不成刚,为什么不能快一些呢;明明电脑下载时都有1M~3M的,感到无奈,一直在等待安装。
分析
如果排除是电脑本身网络速度慢问题,那很有可能是安装依赖库或软件是外网的,需要从外网那里获取;这样自然就很慢啦
解决方法
发现问题是需要从外网获取,那么如果国内中有,我们从国内中获取就可以啦;速度会有质的飞跃。
具有教程,参考我这篇博客:https://guo-pu.blog.csdn.net/article/details/88808210
2)升级apt-get为多线程下载
背景
apt-get默认是单线程下载的,在解决了网络、软件源等问题后,把apt-get升级为多线程apt-fast
分析
在Linux中,默认的apt-get install 有时候会下载非常慢,尤其是添加的一些ppa去下载。发现apt-fast是个好东西,apt-fast 通过使用多线程下载来给apt-get 提速。经过测试效果出奇的好。
apt-fast shell 封装器通过多个连接同时下载一个包来加速 apt-get/apt 和 aptitude 命令,进而使得自己的工作效率得到提升。
解决方案
安装apt-fast
具有教程,参考我这篇博客:https://guo-pu.blog.csdn.net/article/details/103477431
希望对你有帮助;
如果发现不对的地方,欢迎大家指正。