Python第三方庫的安裝方法總結(jié)
Python 是一門優(yōu)雅的語言,簡潔的語法,強(qiáng)大的功能。當(dāng)然豐富的第三方庫,更能加速開發(fā)。那么問題來了,如何安裝這些第三方庫(包)呢?
安裝第三方庫的方式其實(shí)不多。下面就介紹一些技巧。
源碼安裝
很多第三方庫都是開源的,幾乎都可以在github 或者 pypi上找到源碼。找到源碼格式大概都是 zip 、 tar.zip、 tar.bz2格式的壓縮包。解壓這些包,進(jìn)入解壓好的文件夾,通常會(huì)看見一個(gè) setup.py 的文件。打開命令行,進(jìn)入該文件夾。運(yùn)行
python setup.py install
這個(gè)命令,就能把這個(gè)第三庫安裝到系統(tǒng)里,也就是你的 Python 路徑,windows大概是在 C:\Python2.7\Lib\site-packages。
Linux會(huì)在 /usr/local/lib/python2.7/dist-packages。
Mac 應(yīng)該在 /Library/Python/2.7/site-packages。如果是在 virtulenv環(huán)境下安裝,這個(gè)包就被安裝在所建立的虛擬環(huán)境下的 site-packages/目錄下。想要卸載這些庫也很簡單,進(jìn)入 site-packages,直接刪掉庫文件就 OK 啦。當(dāng)然,這些安裝可能有一點(diǎn)麻煩,需要下載,解壓,再運(yùn)行安裝,卸載也不是很方便。有沒有一種工具,可以幫外面管理這些庫呢?
包管理器 (pip 和 easy_install)
現(xiàn)在很多編程語言,都帶有包管理器,例如 Ruby 的 gem,nodejs的npm。Python當(dāng)然也不例外,擁有大名鼎鼎的 pip和 easy_install。
前面說到的pypi就是一些 python第三庫所在的源,使用 pip 或者 easy_install 安裝模塊,會(huì)搜索這個(gè)源,然后自動(dòng)下載安裝。比如我們需要安裝 flask 框架具體命令如下:
pip install flask
或者
easy_install flask
簡單吧,一個(gè)簡單的命令就搞定。卸載也很方便,例如我們需要卸載flask
pip uninstall flask
查看所安裝的包,包括系統(tǒng)自帶的和手動(dòng)安裝的
pip list
還可以搜索包
pip search flask
還可以重定向輸出項(xiàng)目使用的庫。
pip freeze > requirements.txt
這樣就會(huì)把該環(huán)境下的第三方庫重定向到 requirements.txt文件內(nèi),如果給別人安裝項(xiàng)目的依賴,只需要運(yùn)行:
pip install -r requirements.txt
很方便吧。當(dāng)然,有時(shí)候,我們的網(wǎng)絡(luò)并不是那么順暢,pip是在線安裝的,可不可以離線呢?當(dāng)然可以啦,pip install 的第一步,就是在 pypi 上尋找包,然后下載到本地。如果網(wǎng)絡(luò)不好,可以先建一個(gè)本地的倉庫,把常用的包離線下載。比如可以下載 flask 的源碼
pip intall flask-master.zip
同樣也可以安裝。
虛擬環(huán)境相關(guān)安裝
當(dāng)然,上面介紹的,其實(shí)也是很普通很常見的方式,也算不上什么技巧。下面介紹的,則是一些需要了解原理和解決非常規(guī)問題的技巧。
使用Python,我們會(huì)喜歡用 virtualenv建立虛擬環(huán)境,例如建立一個(gè) venv的虛擬環(huán)境。我們只需要 source進(jìn)去就可以使用pip安裝了??墒怯袝r(shí)候,即使在虛擬環(huán)境下,使用了sudo的前綴(windows忽略),那么安裝的庫不是在虛擬環(huán)境,而是被安裝到系統(tǒng)下的site-package 目錄下了。
windows的用戶可能會(huì)很開心,不需要注意這個(gè)問題。當(dāng)然 windows 也同樣有著自己的問題。在 windows上安裝python,一般是編譯好的二進(jìn)制包exe可執(zhí)行文件。通常有 32位和64位的python。對(duì)于第三方庫,本來32和64不會(huì)有太大的差別。但是對(duì)于一些C寫的python庫,如mysqldb,PIL, pillow,會(huì)發(fā)現(xiàn)使用 pip或者 easy_install 的方式會(huì)報(bào)錯(cuò):
Fixing python error: Unable to find vcvarsall.bat
原因大概是 windows上缺少一些 C編譯器東東。源碼需要編譯一下才能安裝,此時(shí) windows就很苦逼了。當(dāng)然,有一些好心人,幫您把常用的一些庫編譯成 exe 可執(zhí)行文件,放到了這個(gè)站點(diǎn)。你只需要尋找對(duì)于版本的,下載一鍵安裝。
可是,還有一個(gè)問題,下載 exe 文件,運(yùn)行安裝,這個(gè)庫是被安裝到了系統(tǒng)的 site-package 目錄下,如果我在windows 建立了venv虛擬環(huán)境,這樣安裝不是歇菜了么?
別擔(dān)心,這個(gè)文章的真正技巧,就是為了解決這個(gè)問題的。我們來安裝64位的 mysqldb。先下載 MySQL‑python‑1.2.5.win‑amd64‑py2.7.exe 在 windows 上,用命令行進(jìn)入虛擬環(huán)境 venv。然后運(yùn)行
easy_install MySQL‑python‑1.2.5.win‑amd64‑py2.7.exe
完美解決,在 venv 虛擬環(huán)境,將mysqldb 庫安裝到了venv下。
有了上面三個(gè)方式,幾乎涵蓋 python 所有平臺(tái)的第三方庫安裝。不過話說回來,盡管 Python 是跨平臺(tái),開發(fā)環(huán)境,還是盡量使用 Linux或者M(jìn)acOS,這兩個(gè)系統(tǒng)有更好的工具以及省去很多莫名其妙的問題。
相關(guān)文章
django框架創(chuàng)建應(yīng)用操作示例
這篇文章主要介紹了django框架創(chuàng)建應(yīng)用操作,結(jié)合實(shí)例形式分析了Django框架的安裝、創(chuàng)建項(xiàng)目、創(chuàng)建數(shù)據(jù)庫及創(chuàng)建應(yīng)用相關(guān)操作技巧,需要的朋友可以參考下2019-09-09Python高效定時(shí)任務(wù)處理APScheduler庫深入學(xué)習(xí)
這篇文章主要為大家介紹了Python高效定時(shí)任務(wù)處理APScheduler庫深入學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08Python進(jìn)程崩潰AttributeError異常問題解決
這篇文章主要介紹了Python進(jìn)程崩潰(AttributeError異常)問題解決,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下方法2023-06-06Python中如何將Tqdm與Asyncio結(jié)合使用呢
這篇文章主要和大家詳細(xì)介紹了在Python中如何將Tqdm與Asyncio結(jié)合使用呢,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-05-05python 求1-100之間的奇數(shù)或者偶數(shù)之和的實(shí)例
今天小編就為大家分享一篇python 求1-100之間的奇數(shù)或者偶數(shù)之和的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-06-06