Python自動安裝第三方庫的小技巧(pip使用詳解)
大家好,我是才哥。
最近周末也加班了,害…
有剛接觸python的粉絲同學(xué)在運(yùn)行此前《》的完整代碼遇到以下問題,然后…

好吧,今天我們就專門介紹一下Python安裝第三方庫的一些小技巧,其中還包含自動安裝的方法哈。
1. pip在線安裝
在cmd命令行模式下,通過pip install 第三方庫名稱的形式,直接進(jìn)行第三方庫的安裝。
我們以安裝plotly為例,安裝表現(xiàn)如下:
pip install plotly

如果需要安裝的第三方庫已經(jīng)存在,我們執(zhí)行安裝命令的時(shí)候會提示其存在且展示庫安裝的位置,其表現(xiàn)如下:

如果你想卸載第三方庫,可以通過pip uninstall 第三方庫名稱的形式,直接進(jìn)行第三方庫的卸載。

當(dāng)然,大家在實(shí)際安裝的過程中可能還會遇到很多其他問題,大致有如下兩種情況:
安裝超時(shí)(因?yàn)樵诰€安裝,會請求第三方庫所在的源,默認(rèn)的源是在海外的,我們請求的時(shí)候可能速度過慢導(dǎo)致超時(shí)之類的)版本號不匹配(由于我們的python環(huán)境可能存在其他一些庫,而庫與庫之間可能存在依賴關(guān)系,如果安裝的庫版本太新或者太舊都有可能與現(xiàn)有的庫存在不匹配而無法正常安裝)
對于安裝超時(shí)的情況,如果繼續(xù)采用pip在線安裝的模式,我們可以在安裝的時(shí)候指定國內(nèi)源,其指令方式如下:
pip install plotly -i https://pypi.tuna.tsinghua.edu.cn/simple
國內(nèi)源可選項(xiàng)(第3部分我們將介紹如何一勞永逸)
阿里云鏡像:http://mirrors.aliyun.com/pypi/simple/
清華大學(xué)鏡像:https://pypi.tuna.tsinghua.edu.cn/simple/
豆瓣鏡像:http://pypi.doubanio.com/simple/
中科大鏡像:https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/
對于版本號不匹配的情況,如果繼續(xù)采用pip在線安裝的模式,我們可以在安裝的時(shí)候指定版本號,其指令方式如下:
pip install plotly==4.9
指定版本號有以下幾種方式:
- 不指定的情況下,默認(rèn)安裝最新的
- == 指定具體版本號
- <= 指定最高版本號
- >= 指定最低版本號
- < 不高于某版本號
- > 不低于某版本號
對于非指定具體版本號的情況,需要注意命令形式稍有不同:第三方庫及版本號關(guān)系需要用引號(""),否則會出現(xiàn)報(bào)錯(cuò)。
pip install "plotly<4.14"
以下為錯(cuò)誤示范命令:
pip install plotly<4.14

除了在線安裝指定版本號的第三方庫之外,我們還可以通過下載指定版本號的第三方庫whl文件,然后pip離線安裝,具體我們在第2部分介紹。
2. pip離線安裝
有時(shí)候,我們直接采用pip在線安裝的時(shí)候不太能安裝到需要的第三方庫版本,又或者我們沒有聯(lián)網(wǎng)環(huán)境進(jìn)行pip在線安裝。這個(gè)時(shí)候我們就可以先下載第三方,然后再用pip進(jìn)行離線安裝。
比如,我們還是以plotly為例,現(xiàn)在某網(wǎng)站下載其文件,然后再本地離線安裝。

安裝指令如下:
pip install D:\python\自動安裝庫\plotly-4.14.3-py3-none-any.whl

推薦下載第三方庫文件的網(wǎng)站:
那個(gè)地方:https://www.lfd.uci.edu/~gohlke/pythonlibs/
Pypi :https://pypi.org/

3. 查看與升級庫
我們學(xué)會了安裝庫和卸載庫,那么怎么查看我們的環(huán)境下有哪些庫以及如果這些庫更新后本地如何同步更新呢?
關(guān)于查看:
通過pip list 可以查看已經(jīng)安裝的庫。

通過pip show 庫名稱 可以查看指定的庫。

關(guān)于升級:
通過pip list -o可以查看可升級的庫。

通過 pip install --upgrade 庫名稱可以升級庫。

4. 設(shè)置國內(nèi)源
我們在第1部分pip在線安裝中介紹過 指定國內(nèi)源的命令形式,除此之外,我們也可以創(chuàng)建一個(gè)配置文件,將默認(rèn)的源指定為我們采用的國內(nèi)源,從而一勞永逸的解決而不需要每次都加上國內(nèi)源地址。
方法很簡單
在當(dāng)前用戶目錄下(C:\Users\xx\pip,xx 表示當(dāng)前使用的用戶,比如gongdc)創(chuàng)建一個(gè) pip.ini文件,文件內(nèi)容如下:
[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple [install] trusted-host = https://pypi.tuna.tsinghua.edu.cn

5. pip.main自動安裝
以上我們熟悉了python在安裝、卸載、升級以及設(shè)置國內(nèi)源等。一般來說,我們編寫的python代碼都會依賴很多現(xiàn)有的第三方庫,這也是學(xué)習(xí)python相對簡單的原因。
大多數(shù)情況下,我們需要依賴的庫并不直接存在于我們當(dāng)前的環(huán)境,需要先進(jìn)行安裝之后才能正常運(yùn)行我們的代碼。所以,每次我們拿到別人編寫好的代碼的時(shí)候,直接運(yùn)行的時(shí)候可能就會出現(xiàn)報(bào)錯(cuò)。
其實(shí),我們在引用庫的時(shí)候,只需要做以下操作,就可以不需要手動進(jìn)行依賴庫的安裝了。
核心:使用
pip.main()方法進(jìn)行依賴庫的安裝(這里窮舉了需要用到的庫)
# 如果需要引用的庫未安裝,則自動安裝
try:
import requests
import pandas as pd
from bs4 import BeautifulSoup
import jieba
import jieba.analyse
import matplotlib.pyplot as plt
from wordcloud import WordCloud,STOPWORDS
import numpy as np
from PIL import Image
# 使用pip.main()方法進(jìn)行依賴庫的安裝(這里窮舉了需要用到的庫)
except ImportError:
import pip
pip.main(["install", "--user", "requests","beautifulsoup4","jieba","matplotlib","wordcloud","pandas","pillow"])
import requests
import pandas as pd
from bs4 import BeautifulSoup
import jieba
import jieba.analyse
import matplotlib.pyplot as plt
from wordcloud import WordCloud,STOPWORDS
import numpy as np
from PIL import Image
執(zhí)行以上代碼,如果有庫未安裝則運(yùn)行結(jié)果如下:

6. 其他
除了上述這種自動安裝第三方庫的方式,我們還可以通過以下方式處理:
import os
libs = ["requests","beautifulsoup4","jieba","matplotlib","wordcloud","pandas","pillow"]
for lib in libs:
os.system("pip install " + lib)

一些報(bào)錯(cuò)提示:
報(bào)錯(cuò)提示 某某庫需要某某庫的什么版本號等等

報(bào)錯(cuò)提示 Consider using the --user option or check the permissions.

這種情況下,不要驚慌,添加 --user參數(shù)即可,參考案例:
pip install --user 第三方庫名稱
以上就是本次全部內(nèi)容,希望能對大家了解python第三方庫的安裝有所幫助。
以上就是Python自動安裝第三方庫的小技巧(pip使用詳解)的詳細(xì)內(nèi)容,更多關(guān)于Python自動安裝第三方庫的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python編程ContextManager上下文管理器講解
這篇文章主要介紹了Python編程中對Context Manager上下文管理器的詳解說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-09-09
Python selenium如何設(shè)置等待時(shí)間
這篇文章主要為大家詳細(xì)介紹了Python selenium如何設(shè)置等待時(shí)間,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09
Python虛擬機(jī)字節(jié)碼教程之控制流實(shí)現(xiàn)詳解
在本篇文章當(dāng)中主要給大家分析 python 當(dāng)中與控制流有關(guān)的字節(jié)碼,通過對這部分字節(jié)碼的了解,我們可以更加深入了解 python 字節(jié)碼的執(zhí)行過程和控制流實(shí)現(xiàn)原理2023-04-04
DJANGO-ALLAUTH社交用戶系統(tǒng)的安裝配置
django-allauth是集成了local用戶系統(tǒng)和social用戶系統(tǒng),其social用戶系統(tǒng)可以掛載多個(gè)賬戶。也是一個(gè)流行度非常高的Django user系統(tǒng),我們這里簡單介紹下,分享下個(gè)人的使用經(jīng)驗(yàn)2014-11-11
Python免費(fèi)驗(yàn)證碼識別之ddddocr識別OCR自動庫實(shí)現(xiàn)
在Python爬蟲過程中,有些網(wǎng)站需要驗(yàn)證碼通過后方可進(jìn)入網(wǎng)頁,目的很簡單,就是區(qū)分是人閱讀訪問還是機(jī)器爬蟲,下面這篇文章主要給大家介紹了關(guān)于Python免費(fèi)驗(yàn)證碼識別之ddddocr識別OCR自動庫實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2022-02-02
python3.7 openpyxl 刪除指定一列或者一行的代碼
這篇文章主要介紹了python3.7 openpyxl 刪除指定一列或者一行,文中通過代碼給大家介紹了python3 openpyxl基本操作,代碼簡單易懂,需要的朋友可以參考下2019-10-10
python 禁止函數(shù)修改列表的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猵ython 禁止函數(shù)修改列表的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08

