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

举报
一颗小树x 发表于 2020/05/28 19:30:52 2020/05/28
【摘要】 在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

希望对你有帮助;
如果发现不对的地方,欢迎大家指正。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。