如果高效使用apt-get、pip来下载安装依赖包、软件呢?

在Python开发中,需要安装一下包、依赖库或软件等,有时出现网络、权限和无法安装等问题困扰着我们,经历过一段时间的洗礼,悟出了一些要点。

如果高效使用apt-get、pip来下载安装依赖包、软件呢?

目录

一、pip命令

1)指定国内下载源---加速下载

2)指定安装特定版本的

3)指定Python2或Python3安装

4)pip使用是遇到权限问题

彩蛋----查看python安装了哪些库、模块

二、apt-get命令

1)修改国内软件源

2)升级apt-get为多线程下载


一、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

 

 指定Python3.6安装依赖库或软件

python3.5 -m pip install xxxx

或  python3 -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.****.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.****.net/article/details/103477431

 

希望对你有帮助;

如果发现不对的地方,欢迎大家指正????