Python 是一門(mén)優(yōu)雅的語(yǔ)言,簡(jiǎn)潔的語(yǔ)法,強(qiáng)大的功能。當(dāng)然豐富的第三方庫(kù),更能加速開(kāi)發(fā)。那么問(wèn)題來(lái)了,如何安裝這些第三方庫(kù)(包)呢? 安裝第三方庫(kù)的方式其實(shí)不多。下面就介紹一些技巧。 源碼安裝 這個(gè)命令,就能把這個(gè)第三庫(kù)安裝到系統(tǒng)里,也就是你的 Python 路徑,windows大概是在 C:\Python2.7\Lib\site-packages。 包管理器 (pip 和 easy_install) 前面說(shuō)到的pypi就是一些 python第三庫(kù)所在的源,使用 pip 或者 easy_install 安裝模塊,會(huì)搜索這個(gè)源,然后自動(dòng)下載安裝。比如我們需要安裝 flask 框架具體命令如下:
或者
簡(jiǎn)單吧,一個(gè)簡(jiǎn)單的命令就搞定。卸載也很方便,例如我們需要卸載flask
查看所安裝的包,包括系統(tǒng)自帶的和手動(dòng)安裝的
還可以搜索包
還可以重定向輸出項(xiàng)目使用的庫(kù)。
這樣就會(huì)把該環(huán)境下的第三方庫(kù)重定向到 requirements.txt文件內(nèi),如果給別人安裝項(xiàng)目的依賴,只需要運(yùn)行:
很方便吧。當(dāng)然,有時(shí)候,我們的網(wǎng)絡(luò)并不是那么順暢,pip是在線安裝的,可不可以離線呢?當(dāng)然可以啦,pip install 的第一步,就是在 pypi 上尋找包,然后下載到本地。如果網(wǎng)絡(luò)不好,可以先建一個(gè)本地的倉(cāng)庫(kù),把常用的包離線下載。比如可以下載 flask 的源碼
同樣也可以安裝。 虛擬環(huán)境相關(guān)安裝 使用Python,我們會(huì)喜歡用 virtualenv建立虛擬環(huán)境,例如建立一個(gè) venv的虛擬環(huán)境。我們只需要 source進(jìn)去就可以使用pip安裝了??墒怯袝r(shí)候,即使在虛擬環(huán)境下,使用了sudo的前綴(windows忽略),那么安裝的庫(kù)不是在虛擬環(huán)境,而是被安裝到系統(tǒng)下的site-package 目錄下了。 windows的用戶可能會(huì)很開(kāi)心,不需要注意這個(gè)問(wèn)題。當(dāng)然 windows 也同樣有著自己的問(wèn)題。在 windows上安裝python,一般是編譯好的二進(jìn)制包exe可執(zhí)行文件。通常有 32位和64位的python。對(duì)于第三方庫(kù),本來(lái)32和64不會(huì)有太大的差別。但是對(duì)于一些C寫(xiě)的python庫(kù),如mysqldb,PIL, pillow,會(huì)發(fā)現(xiàn)使用 pip或者 easy_install 的方式會(huì)報(bào)錯(cuò):
原因大概是 windows上缺少一些 C編譯器東東。源碼需要編譯一下才能安裝,此時(shí) windows就很苦逼了。當(dāng)然,有一些好心人,幫您把常用的一些庫(kù)編譯成 exe 可執(zhí)行文件,放到了這個(gè)站點(diǎn)。你只需要尋找對(duì)于版本的,下載一鍵安裝。 可是,還有一個(gè)問(wèn)題,下載 exe 文件,運(yùn)行安裝,這個(gè)庫(kù)是被安裝到了系統(tǒng)的 site-package 目錄下,如果我在windows 建立了venv虛擬環(huán)境,這樣安裝不是歇菜了么? 別擔(dān)心,這個(gè)文章的真正技巧,就是為了解決這個(gè)問(wèn)題的。我們來(lái)安裝64位的 mysqldb。先下載 MySQL?python?1.2.5.win?amd64?py2.7.exe 在 windows 上,用命令行進(jìn)入虛擬環(huán)境 venv。然后運(yùn)行
完美解決,在 venv 虛擬環(huán)境,將mysqldb 庫(kù)安裝到了venv下。 有了上面三個(gè)方式,幾乎涵蓋 python 所有平臺(tái)的第三方庫(kù)安裝。不過(guò)話說(shuō)回來(lái),盡管 Python 是跨平臺(tái),開(kāi)發(fā)環(huán)境,還是盡量使用 Linux或者M(jìn)acOS,這兩個(gè)系統(tǒng)有更好的工具以及省去很多莫名其妙的問(wèn)題。 |
|