在ubuntu服務(wù)器下安裝包的時(shí)候,經(jīng)常會(huì)用到sudo apt-get install 包名或 sudo pip install 包名,那么兩者有什么區(qū)別呢?
1.區(qū)別
pip用來(lái)安裝來(lái)自PyPI(https://www.python.org/)的python所有的依賴包,并且可以選擇安裝任何在PyPI上已上傳的先前版本的依賴包,個(gè)人認(rèn)為是python相關(guān)的包和第三方包以及各種版本;
apt-get可以用來(lái)安裝軟件、更新源、也可以用來(lái)更新自Ubuntu(https://launchpad.net/ubuntu)的典型依賴包,典型安裝即意味著它只是安裝(最新發(fā)布的,或最近一個(gè)的)單一版本,并且我們不能決定我們要安裝的依賴包的版本或選擇它之前的版本。
一個(gè)是更新系統(tǒng)級(jí)別包,一個(gè)是更新一種編程語(yǔ)言級(jí)別包(庫(kù))。
2.使用
情況是這樣的,如果你需要最新版本的python依賴包,你可以直接使用apt-get,在項(xiàng)目突然需要使用舊版本的依賴包時(shí),你就可以使用virtualenvwrapper和pip來(lái)使完美得再安裝上一個(gè)舊版本的依賴包;
你可以根據(jù)你的喜好選擇你喜歡的安裝方式。但是,如果你需要安裝python包的特定版本,或在virtualenvwrapper中安裝包,或安裝只托管PyPI上一個(gè)包,此時(shí)只有pip會(huì)幫你解決這個(gè)問(wèn)題了。否則,如果你不介意安裝在系統(tǒng)范圍的位置使用apt-get或pip都是ok的;
3.安裝及應(yīng)用
apt-get是可以直接使用的,格式為
$ sudo apt-get -f install #修復(fù)安裝
$ sudo apt-get dist-upgrade #升級(jí)系統(tǒng)
$ sudo apt-get upgrade #更新已安裝的包
$ apt-get source package #下載該包的源代碼
$ sudo apt-get build-dep package #安裝相關(guān)的編譯環(huán)境
$ sudo apt-get clean && sudo apt-get autoclean #清理無(wú)用的包
#pip需要安裝才能使用,配合virtualenvwrapper會(huì)錦上添花。安裝過(guò)程如下(適用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