在Python中,安裝第三方模塊,是通過(guò)包管理工具pip完成的。
如果你正在使用Mac或Linux,安裝pip本身這個(gè)步驟就可以跳過(guò)了。
如果你正在使用Windows,請(qǐng)參考安裝Python一節(jié)的內(nèi)容,確保安裝時(shí)勾選了pip和Add python.exe to Path。
在命令提示符窗口下嘗試運(yùn)行pip,如果Windows提示未找到命令,可以重新運(yùn)行安裝程序添加pip。
注意:Mac或Linux上有可能并存Python 3.x和Python 2.x,因此對(duì)應(yīng)的pip命令是pip3。
例如,我們要安裝一個(gè)第三方庫(kù)——Python Imaging Library,這是Python下非常強(qiáng)大的處理圖像的工具庫(kù)。不過(guò),PIL目前只支持到Python 2.7,并且有年頭沒(méi)有更新了,因此,基于PIL的Pillow項(xiàng)目開(kāi)發(fā)非?;钴S,并且支持最新的Python 3。
一般來(lái)說(shuō),第三方庫(kù)都會(huì)在Python官方的pypi.python.org網(wǎng)站注冊(cè),要安裝一個(gè)第三方庫(kù),必須先知道該庫(kù)的名稱(chēng),可以在官網(wǎng)或者pypi上搜索,比如Pillow的名稱(chēng)叫Pillow,因此,安裝Pillow的命令就是:
pip install Pillow
耐心等待下載并安裝后,就可以使用Pillow了。
且慢
安裝常用模塊
在使用Python時(shí),我們經(jīng)常需要用到很多第三方庫(kù),例如,上面提到的Pillow,以及MySQL驅(qū)動(dòng)程序,Web框架Flask,科學(xué)計(jì)算Numpy等。用pip一個(gè)一個(gè)安裝費(fèi)時(shí)費(fèi)力,還需要考慮兼容性。我們推薦直接使用Anaconda,這是一個(gè)基于Python的數(shù)據(jù)處理和科學(xué)計(jì)算平臺(tái),它已經(jīng)內(nèi)置了許多非常有用的第三方庫(kù),我們裝上Anaconda,就相當(dāng)于把數(shù)十個(gè)第三方模塊自動(dòng)安裝好了,非常簡(jiǎn)單易用。
可以從Anaconda官網(wǎng)下載GUI安裝包,安裝包有500~600M,所以需要耐心等待下載。網(wǎng)速慢的同學(xué)請(qǐng)移步國(guó)內(nèi)鏡像。下載后直接安裝,Anaconda會(huì)把系統(tǒng)Path中的python指向自己自帶的Python,并且,Anaconda安裝的第三方模塊會(huì)安裝在Anaconda自己的路徑下,不影響系統(tǒng)已安裝的Python目錄。
安裝好Anaconda后,重新打開(kāi)命令行窗口,輸入python,可以看到Anaconda的信息:
┌────────────────────────────────────────────────────────┐
│Command Prompt - python - □ x │
├────────────────────────────────────────────────────────┤
│Microsoft Windows [Version 10.0.0] │
│(c) 2015 Microsoft Corporation. All rights reserved. │
│ │
│C:\> python │
│Python 3.6.3 |Anaconda, Inc.| ... on win32 │
│Type "help", ... for more information. │
│>>> import numpy │
│>>> _ │
│ │
│ │
│ │
└────────────────────────────────────────────────────────┘
可以嘗試直接import numpy等已安裝的第三方模塊。
模塊搜索路徑
當(dāng)我們?cè)噲D加載一個(gè)模塊時(shí),Python會(huì)在指定的路徑下搜索對(duì)應(yīng)的.py文件,如果找不到,就會(huì)報(bào)錯(cuò):
>>> import mymodule
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named mymodule
默認(rèn)情況下,Python解釋器會(huì)搜索當(dāng)前目錄、所有已安裝的內(nèi)置模塊和第三方模塊,搜索路徑存放在sys模塊的path變量中:
>>> import sys
>>> sys.path
['', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python36.zip', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6', ..., '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages']
如果我們要添加自己的搜索目錄,有兩種方法:
一是直接修改sys.path,添加要搜索的目錄:
>>> import sys
>>> sys.path.append('/Users/michael/my_py_scripts')
這種方法是在運(yùn)行時(shí)修改,運(yùn)行結(jié)束后失效。
第二種方法是設(shè)置環(huán)境變量PYTHONPATH,該環(huán)境變量的內(nèi)容會(huì)被自動(dòng)添加到模塊搜索路徑中。設(shè)置方式與設(shè)置Path環(huán)境變量類(lèi)似。注意只需要添加你自己的搜索路徑,Python自己本身的搜索路徑不受影影響。