python第三方庫安裝技巧

本文源地址 http://www.jianshu.com/p/9acc85d0ff16css

 

Python 是一門優雅的語言,簡潔的語法,強大的功能。固然豐富的第三方庫,更能加速開發。那麼問題來了,如何安裝這些第三方庫(包)呢?node

安裝第三方庫的方式其實很少。下面就介紹一些技巧。python

源碼安裝

不少第三方庫都是開源的,幾乎均可以在github 或者 pypi上找到源碼。找到源碼格式大概都是 zip 、 tar.zip、 tar.bz2格式的壓縮包。解壓這些包,進入解壓好的文件夾,一般會看見一個 setup.py 的文件。打開命令行,進入該文件夾。運行   (在命令行中)mysql

python setup.py install

 

這個命令,就能把這個第三庫安裝到系統裏,也就是你的 Python 路徑,windows大概是在 C:\Python\Lib\site-packages
Linux會在 /usr/local/lib/python2.7/dist-packages
Mac 應該在 /Library/Python/2.7/site-packages。若是是在 virtulenv環境下安裝,這個包就被安裝在所創建的虛擬環境下的 site-packages/目錄下。想要卸載這些庫也很簡單,進入 site-packages,直接刪掉庫文件就 OK 啦。固然,這些安裝可能有一點麻煩,須要下載,解壓,再運行安裝,卸載也不是很方便。有沒有一種工具,能夠幫外面管理這些庫呢?git

包管理器 (pip 和 easy_install)

如今不少編程語言,都帶有包管理器,例如 Ruby 的 gemnodejsnpmPython固然也不例外,擁有大名鼎鼎的 pip和 easy_installgithub

前面說到的pypi就是一些 python第三庫所在的源,使用 pip 或者 easy_install 安裝模塊,會搜索這個源,而後自動下載安裝。好比咱們須要安裝 flask 框架具體命令以下:sql

pip install flask 

或者npm

easy_install flask

簡單吧,一個簡單的命令就搞定。卸載也很方便,例如咱們須要卸載flask編程

pip uninstall flask

  查看所安裝的包,包括系統自帶的和手動安裝的flask

pip list

還能夠搜索包

pip search flask

 還能夠重定向輸出項目使用的庫。

pip freeze > requirements.txt

這樣就會把該環境下的第三方庫重定向到 requirements.txt文件內,若是給別人安裝項目的依賴,只須要運行:

pip install -r requirements.txt

  很方便吧。固然,有時候,咱們的網絡並非那麼順暢,pip是在線安裝的,可不能夠離線呢?固然能夠啦,pip install 的第一步,就是在 pypi 上尋找包,而後下載到本地。若是網絡很差,能夠先建一個本地的倉庫,把經常使用的包離線下載。好比能夠下載 flask的源碼

pip intall flask-master.zip

  一樣也能夠安裝。

最新版本的pip也支持git安裝,只須要使用其git地址就行

pip install git+https://github.com/kennethreitz/requests.git

  不過這種安裝方式至關的慢。它的原來就是先clone到本地的臨時目錄,而後再安裝zip包。

虛擬環境相關安裝

固然,上面介紹的,其實也是很普通很常見的方式,也算不上什麼技巧。下面介紹的,則是一些須要瞭解原理和解決很是規問題的技巧。

使用Python,咱們會喜歡用 virtualenv創建虛擬環境,例如創建一個 venv的虛擬環境。咱們只須要 source進去就可使用pip安裝了。但是有時候,即便在虛擬環境下,使用了sudo的前綴(windows忽略),那麼安裝的庫不是在虛擬環境,而是被安裝到系統下的site-package 目錄下了。

windows的用戶可能會很開心,不須要注意這個問題。固然 windows 也一樣有着本身的問題。在 windows上安裝python,通常是編譯好的二進制包exe可執行文件。一般有 32位和64位的python。對於第三方庫,原本32和64不會有太大的差異。可是對於一些C寫的python庫,如mysqldbPIL, pillow,會發現使用 pip或者 easy_install 的方式會報錯:

Fixing python error: Unable to find vcvarsall.bat

緣由大概是 windows上缺乏一些 C編譯器東東。源碼須要編譯一下才能安裝,此時 windows就很苦逼了。固然,有一些好心人,幫您把經常使用的一些庫編譯成 exe 可執行文件,放到了這個站點。你只須要尋找對於版本的,下載一鍵安裝。

但是,還有一個問題,下載 exe 文件,運行安裝,這個庫是被安裝到了系統的 site-package 目錄下,若是我在windows 創建了venv虛擬環境,這樣安裝不是歇菜了麼?

別擔憂,這個文章的真正技巧,就是爲了解決這個問題的。咱們來安裝64位的 mysqldb。先下載 MySQL‑python‑1.2.5.win‑amd64‑py2.7.exe 在 windows 上,用命令行進入虛擬環境 venv。而後運行

easy_install MySQL‑python‑1.2.5.win‑amd64‑py2.7.exe

完美解決,在 venv 虛擬環境,將mysqldb 庫安裝到了venv下。

有了上面三個方式,幾乎涵蓋 python 全部平臺的第三方庫安裝。不過話說回來,儘管 Python 是跨平臺,開發環境,仍是儘可能使用 Linux或者MacOS,這兩個系統有更好的工具以及省去不少莫名其妙的問題。

相關文章
相關標籤/搜索