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

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

前言

在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

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

相关文章
|
12月前
|
并行计算 Ubuntu 开发工具
Jetson学习笔记(一):jetson 系列镜像下载、烧写、设置散热风扇、中文包、pip、中转英目录、软件源、显示CSI摄像头
关于NVIDIA Jetson系列设备的入门学习笔记,涵盖了从下载镜像、烧录、设置散热风扇、安装中文语言包、配置环境变量、安装CUDA和OpenCV,到显示CSI摄像头和增加Swap交换空间的详细步骤。
779 0
Jetson学习笔记(一):jetson 系列镜像下载、烧写、设置散热风扇、中文包、pip、中转英目录、软件源、显示CSI摄像头
|
SQL Python
你需要在你的系统上安装`sqlmap`。这通常可以通过下载其源代码并编译,或者使用包管理器(如`apt`、`yum`或`pip`,但请注意,`pip`通常不直接提供`sqlmap`)来完成。
你需要在你的系统上安装`sqlmap`。这通常可以通过下载其源代码并编译,或者使用包管理器(如`apt`、`yum`或`pip`,但请注意,`pip`通常不直接提供`sqlmap`)来完成。
|
文字识别 Python
python -m pip ,SyntaxError: invalid syntax,下载需要pip的包
python -m pip ,SyntaxError: invalid syntax,下载需要pip的包
|
存储 Linux 网络安全
常用的 Python 工具:使用 virtualenv、使用 Pip 进行安装和管理包
常用的 Python 工具:使用 virtualenv、使用 Pip 进行安装和管理包
147 0
|
Linux
【问题解决】Linux环境下pip下载缓慢
【问题解决】Linux环境下pip下载缓慢
149 0
conda和pip指定镜像源下载
conda和pip指定镜像源下载
1072 1
|
Python
python(pip)包/模块:如何离线安装?
python(pip)包/模块:如何离线安装?
437 0
|
Python Windows
Python分发包安装pip3
Python分发包安装pip3
121 0
|
12月前
|
Python
pip批量安装Python库 requirement.txt 离线环境无互联网环境下pip安装Python库
pip批量安装Python库 requirement.txt 离线环境无互联网环境下pip安装Python库
638 3
|
12月前
|
自然语言处理 搜索推荐 程序员
【Python】如何使用pip,安装第三方库和生成二维码、操作Excel
【Python】如何使用pip,安装第三方库和生成二维码、操作Excel
236 0

热门文章

最新文章