常用的python第三方庫(kù)安裝工具大概有三種: 常見(jiàn)的安裝包格式:
常用于源碼安裝,由于pypi官網(wǎng)下載包非常慢,因此有人會(huì)選擇下載后安裝,也有人會(huì)去GitHub上下載源碼來(lái)安裝,常被用與后者。 一般GitHub上的源碼大多為zip、tar.gz、tar.zip、 tar.bz2這類(lèi)壓縮文件,而它們往往自帶文件。 安裝:
命令如下:
Windows的安裝包存放的路徑為:python安裝路徑下的\Lib\site-packages。 Linux的路徑應(yīng)該為: /usr/lib/python2.7/site-packages。 (路徑不一定,視情況而定,有的可能在/usr/local/lib) 缺點(diǎn): 但是這種安裝方法有一種非常大的毛病,就是使用該方法安裝的包,無(wú)法通過(guò)pip uninstall卸載干凈。 需要手動(dòng)到/usr/bin/python2.7/site-package(其中python處為對(duì)應(yīng)的Python版本)目錄下刪除。對(duì)于類(lèi)UNIX系統(tǒng)來(lái)說(shuō),64位機(jī)更麻煩的是,在/usr目錄下分為lib和lib64,這兩個(gè)目錄下都會(huì)有。 網(wǎng)上有卸載方法,但我試過(guò)不太奏效: 卸載
一般情況下其實(shí)不建議使用這種,pip其實(shí)也是可以直接安裝壓縮包的,后面會(huì)講。 easy_install實(shí)際上,在Python中安裝第三方模塊,是通過(guò)setuptools這個(gè)工具完成的。而easy_install和pip是封裝了setuptools的兩個(gè)包管理工具。 我們要使用easy_install,首先需要setuptools,當(dāng)然,現(xiàn)在的版本里都自帶了,python3.6以后的略微有點(diǎn)不一樣,后面會(huì)講。 但是還是可以提一下: 1、打開(kāi)官網(wǎng) http://pypi./pypi/setuptools ,目前最新版的只有whl和zip兩種格式(以前是有exe的,現(xiàn)在似乎沒(méi)有了,但我感覺(jué)現(xiàn)在更方便一點(diǎn))。 但是whl前提是要用pip安裝,而pip有的時(shí)候,我們可能需要使用easy_install才能安裝,有pip我們也不怎么用easy_install了,所以我們只能下載zip。 2、下載后解壓,會(huì)發(fā)現(xiàn)里面有easy_install.py和,可以直接使用。
安裝好easy_install之后就可以用來(lái)安裝包了,但是建議將easy_install所在路徑加入環(huán)境變量PATH,否則每次安裝包都需要先進(jìn)入該路徑。 Windows的easy_install路徑為: easy_install的使用方法,如安裝pip,直接在后面加上包名即可:
卸載
升級(jí)
使用教程: pip使用
安裝tar.gz和zip使用pip是最簡(jiǎn)單的,不需要解壓,前兩種還需要解壓。 批量安裝有的時(shí)候你會(huì)發(fā)現(xiàn)在沒(méi)有網(wǎng)絡(luò)的時(shí)候,你想要安裝wheel文件,直接pip會(huì)出錯(cuò),這里有一種辦法,并且可以批量,就是利用requirements.txt文件。但是,這之前我們還要知道,我們之所以安裝wheel文件會(huì)失敗,是因?yàn)楸緳C(jī)的python不支持下載的whl文件。
命令如下:
批量卸載
其中-y代表卸載時(shí)不詢(xún)問(wèn)是否刪除,即yes的意思,可以省略,但在腳本里的時(shí)候還是加上。 wheel1、wheel 包的命名格式
前兩個(gè)分別代表包名和版本,前面查看wheel版本輸出的三元素元組分別代表{python tag}-{abi tag}-{platform tag}。
如request的whl名字里的py2和py3分別代表支持py2.x和py3.x,兩個(gè)同時(shí)存在則代表兩個(gè)版本都支持,以“.”分隔。
說(shuō)實(shí)話,我沒(méi)太看懂這是個(gè)什么東西,只大概知道分為以下幾種:
如果打包時(shí)沒(méi)辦法判斷 abi 類(lèi)型,生成的 abi tag 會(huì)是 none。而如果 Python 包是不依賴(lài)特定的 abi 的純 Python 實(shí)現(xiàn),生成的 abi tag 也是 none。 大部分我們下載的的是類(lèi)似mu結(jié)尾的,如cp27mu。
當(dāng)然,遠(yuǎn)不止這些,我曾經(jīng)裝過(guò)grpcio這個(gè)庫(kù),在官網(wǎng)里找到它發(fā)現(xiàn)五花八門(mén),當(dāng)時(shí)不知道要下哪一個(gè),后來(lái)才找到那個(gè)查看版本的命令。 2、python環(huán)境支持哪種wheel文件pip10以下的版本查看:
pip10以上的版本查看:
可以看到如圖:
再如
當(dāng)然,后者在Windows上的Python里執(zhí)行是不可能看到的。 下載源國(guó)內(nèi)pypi官網(wǎng)下載源有時(shí)候會(huì)比較慢,我們可以指定源
國(guó)內(nèi)鏡像目前有:
第三方庫(kù)下載地址1、https:// (官方) python3.6前后的版本pip安裝方式的不同Python3.6和之前的版本(包括2.x和3.6之前的3.x)有一個(gè)很大的區(qū)別,安裝完之后Scripts目錄為空,當(dāng)我們想執(zhí)行更新pip時(shí)出錯(cuò):
報(bào)錯(cuò):
解決辦法:
離線安裝前查看某個(gè)指定的包的所有依賴(lài)項(xiàng)我們有的時(shí)候開(kāi)發(fā)環(huán)境分內(nèi)外網(wǎng),但是又不得不安裝一些第三方庫(kù),需要去外網(wǎng)下載好wheel拷到內(nèi)網(wǎng),而這些第三方庫(kù)往往依賴(lài)于其他包。如果你在內(nèi)網(wǎng)試,每次一個(gè)沒(méi)有又要去外網(wǎng)重新下了拷進(jìn)來(lái),不勝其煩。 而conda有一個(gè)非常棒的功能,就是可以查看某個(gè)python版本的某個(gè)庫(kù)的所有依賴(lài)項(xiàng)及其對(duì)應(yīng)的版本,如下,指定查看3.5的某個(gè)包的所有依賴(lài),較老版本的命令是這樣的:
新版本的命令(可離線查看),沒(méi)研究出來(lái)怎么指定python版本:
其實(shí)pip也有,但只能顯示相關(guān)依賴(lài)包,但不能顯示具體對(duì)應(yīng)的版本:
可查看:https://cloud.tencent.com/developer/ask/145565 conda我16年接觸python的時(shí)候,學(xué)爬蟲(chóng)被安裝第三方庫(kù)折騰的差點(diǎn)放棄,尤其是Scrapy框架,后來(lái)一陣摸索好不容易發(fā)現(xiàn)了Anaconda這么個(gè)好東西。 Anaconda是個(gè)集成環(huán)境,里面有大量的常用第三方庫(kù)以及科學(xué)計(jì)算相關(guān)的包,感覺(jué)起來(lái)裝任何包都很輕易,沒(méi)有再為包的事情煩心過(guò),里面的命令是conda,和pip類(lèi)似,但不僅pip,還有虛擬環(huán)境的作用。命令也類(lèi)似,只要把pip替換為conda即可,但也可以使用pip命令。 如果想將py2和py3的Anaconda裝在一起,只要把其中一個(gè)安裝在另一個(gè)已經(jīng)裝好的envs路徑下即可。 conda具體命令查看: virtualenv對(duì)于安裝包,如果覺(jué)得怎么都安裝不上,使用虛擬環(huán)境也是個(gè)很不錯(cuò)的選擇,
參考文檔1、https://pip./en/stable/reference/ |
|