Python自動安裝第三方庫的小技巧(pip使用詳解)

大傢好,我是才哥。

最近周末也加班瞭,害…

有剛接觸python的粉絲同學在運行此前《》的完整代碼遇到以下問題,然後…

圖1:粉絲遇到的報錯

好吧,今天我們就專門介紹一下Python安裝第三方庫的一些小技巧,其中還包含自動安裝的方法哈。

1. pip在線安裝

在cmd命令行模式下,通過pip install 第三方庫名稱的形式,直接進行第三方庫的安裝。

我們以安裝plotly為例,安裝表現如下:

pip install plotly

圖2:安裝第三方庫

如果需要安裝的第三方庫已經存在,我們執行安裝命令的時候會提示其存在且展示庫安裝的位置,其表現如下:

圖3:第三方庫存在的情況下安裝表現

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

圖4:卸載第三方庫

當然,大傢在實際安裝的過程中可能還會遇到很多其他問題,大致有如下兩種情況:

  • 安裝超時(因為在線安裝,會請求第三方庫所在的源,默認的源是在海外的,我們請求的時候可能速度過慢導致超時之類的)
  • 版本號不匹配(由於我們的python環境可能存在其他一些庫,而庫與庫之間可能存在依賴關系,如果安裝的庫版本太新或者太舊都有可能與現有的庫存在不匹配而無法正常安裝)

對於安裝超時的情況,如果繼續采用pip在線安裝的模式,我們可以在安裝的時候指定國內源,其指令方式如下:

pip install plotly -i https://pypi.tuna.tsinghua.edu.cn/simple

國內源可選項(第3部分我們將介紹如何一勞永逸)

阿裡雲鏡像:http://mirrors.aliyun.com/pypi/simple/

清華大學鏡像:https://pypi.tuna.tsinghua.edu.cn/simple/

豆瓣鏡像:http://pypi.doubanio.com/simple/

中科大鏡像:https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/

對於版本號不匹配的情況,如果繼續采用pip在線安裝的模式,我們可以在安裝的時候指定版本號,其指令方式如下:

pip install plotly==4.9

指定版本號有以下幾種方式:

  • 不指定的情況下,默認安裝最新的
  • == 指定具體版本號
  • <= 指定最高版本號
  • >= 指定最低版本號
  • < 不高於某版本號
  • > 不低於某版本號

對於非指定具體版本號的情況,需要註意命令形式稍有不同:第三方庫及版本號關系需要用引號(""),否則會出現報錯。

pip install "plotly<4.14"

以下為錯誤示范命令:

pip install plotly<4.14

圖5:錯誤示范

除瞭在線安裝指定版本號的第三方庫之外,我們還可以通過下載指定版本號的第三方庫whl文件,然後pip離線安裝,具體我們在第2部分介紹。

2. pip離線安裝

有時候,我們直接采用pip在線安裝的時候不太能安裝到需要的第三方庫版本,又或者我們沒有聯網環境進行pip在線安裝。這個時候我們就可以先下載第三方,然後再用pip進行離線安裝。

比如,我們還是以plotly為例,現在某網站下載其文件,然後再本地離線安裝。

圖6:那個地方第三方庫文件下載

安裝指令如下:

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

圖7:離線安裝第三方庫

推薦下載第三方庫文件的網站:

那個地方:https://www.lfd.uci.edu/~gohlke/pythonlibs/

Pypi :https://pypi.org/

圖8:Pypi官方第三方庫文件下載

3. 查看與升級庫

我們學會瞭安裝庫和卸載庫,那麼怎麼查看我們的環境下有哪些庫以及如果這些庫更新後本地如何同步更新呢?

關於查看

通過pip list 可以查看已經安裝的庫。

圖9:查看已經安裝的庫

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

圖10:查看指定的庫

關於升級

通過pip list -o可以查看可升級的庫。

圖11:查看可以升級的庫

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

圖12:升級指定的庫

4. 設置國內源

我們在第1部分pip在線安裝中介紹過 指定國內源的命令形式,除此之外,我們也可以創建一個配置文件,將默認的源指定為我們采用的國內源,從而一勞永逸的解決而不需要每次都加上國內源地址。

方法很簡單

在當前用戶目錄下(C:\Users\xx\pip,xx 表示當前使用的用戶,比如gongdc)創建一個 pip.ini文件,文件內容如下:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn

圖13:設置國內源配置文件

5. pip.main自動安裝

以上我們熟悉瞭python在安裝、卸載、升級以及設置國內源等。一般來說,我們編寫的python代碼都會依賴很多現有的第三方庫,這也是學習python相對簡單的原因。

大多數情況下,我們需要依賴的庫並不直接存在於我們當前的環境,需要先進行安裝之後才能正常運行我們的代碼。所以,每次我們拿到別人編寫好的代碼的時候,直接運行的時候可能就會出現報錯。

其實,我們在引用庫的時候,隻需要做以下操作,就可以不需要手動進行依賴庫的安裝瞭。

核心:使用pip.main()方法進行依賴庫的安裝(這裡窮舉瞭需要用到的庫)

# 如果需要引用的庫未安裝,則自動安裝 
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()方法進行依賴庫的安裝(這裡窮舉瞭需要用到的庫)   
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

執行以上代碼,如果有庫未安裝則運行結果如下:

圖13:自動下載第三方庫

6. 其他

除瞭上述這種自動安裝第三方庫的方式,我們還可以通過以下方式處理:

import os

libs = ["requests","beautifulsoup4","jieba","matplotlib","wordcloud","pandas","pillow"]

for lib in libs:
    os.system("pip install " + lib)

圖14:os下自動安裝庫

一些報錯提示

報錯提示 某某庫需要某某庫的什麼版本號等等

問題1:依賴庫匹配

報錯提示 Consider using the --user option or check the permissions.

問題2:--user

這種情況下,不要驚慌,添加 –user參數即可,參考案例:

pip install --user 第三方庫名稱

以上就是本次全部內容,希望能對大傢瞭解python第三方庫的安裝有所幫助。

以上就是Python自動安裝第三方庫的小技巧(pip使用詳解)的詳細內容,更多關於Python自動安裝第三方庫的資料請關註WalkonNet其它相關文章!

推薦閱讀: