Ubuntu下apt-get install安装与pip install安装的区别

在下载Python依赖包的时候,突然发现有些人的执行命令是sudo pip install pysftp,也有人用sudo apt-get install pysftp,所以很好奇它们这两者到底区别在哪儿?什么时候该用pip,什么时候该用apt-get呢?该如何安装和使用apt-get与pip?

现在,我就把自己学到的干货和大家分享下:

1. pip与apt-get的区别在哪儿呢?

pip用来安装来自PyPI的python所有的依赖包,并且可以选择安装任何在PyPI上已上传的先前版本的依赖包; 
apt-get可以用来安装软件、更新源、也可以用来更新自Ubuntu的典型依赖包,典型安装即意味着它只是安装(最新发布的,或最近一个的)单一版本,并且我们不能决定我们要安装的依赖包的版本或选择它之前的版本。

2. 什么时候该用pip,什么时候该用apt-get呢?

情况是这样的,如果你需要最新版本的python依赖包,你可以直接使用apt-get,在项目突然需要使用旧版本的依赖包时,你就可以使用virtualenv和pip来使完美得再安装上一个旧版本的依赖包; 
你可以根据你的喜好选择你喜欢的安装方式。但是,如果你需要安装python包的特定版本,或在virtualenv中安装包,或安装只托管PyPI上一个包,此时只有pip会帮你解决这个问题了。否则,如果你不介意安装在系统范围的位置使用apt-get或pip都是ok的;

3. 该如何安装和使用apt-get与pip?

apt-get是可以直接使用的,格式为

sudo apt-get install/delete package
  •  
  • sudo apt-get -f install                                   #修复安装
  •  
sudo apt-get dist-upgrade                                 #升级系统
  •  
sudo apt-get upgrade                                      #更新已安装的包
  •  
apt-get source package                                    #下载该包的源代码
  •  
sudo apt-get build-dep package                            #安装相关的编译环境
  •  
sudo apt-get clean && sudo apt-get autoclean              #清理无用的包
  •  

pip需要安装才能使用,配合virtualenv会锦上添花。安装过程如下(适用Ubuntu 10.10及以上版本),使用格式为:pip install package。

$ sudo apt-get install python-pip python-dev build-essential 
  •  
$ sudo pip install --upgrade pip 
  •  
$ sudo pip install --upgrade virtualenv 
  •  

注:virtualenv是一个python工具,它可以创建一个独立的python环境,这样做的好处是你的python程序运行在这个环境里,不受其它python library的版本问题影响。

补充

sudo apt-get update  更新源
sudo apt-get install package 安装包
sudo apt-get remove package 删除包
sudo apt-cache search package 搜索软件包
sudo apt-cache show package  获取包的相关信息,如说明、大小、版本等
sudo apt-get install package --reinstall  重新安装包
sudo apt-get -f install  修复安装
sudo apt-get remove package --purge 删除包,包括配置文件等
sudo apt-get build-dep package 安装相关的编译环境
sudo apt-get upgrade 更新已安装的包
sudo apt-get dist-upgrade 升级系统
sudo apt-cache depends package 了解使用该包依赖那些包
sudo apt-cache rdepends package 查看该包被哪些包依赖
sudo apt-get source package  下载该包的源代码
sudo apt-get clean && sudo apt-get autoclean 清理无用的包
sudo apt-get check 检查是否有损坏的依赖

猜你喜欢

转载自blog.csdn.net/Lxy_Python/article/details/81634551