Pip list命令可以查詢已安裝的庫,結合壹些Linux命令(cut,sed,awk,grep?),可以直接在命令行實現批量升級。
先檢查壹下,看看是什麽格式:
如您所見,前兩行是壹些提示,我們需要從第三行開始過濾,因此我們可以使用awk命令:
python3 -m pip列表| awk ' NR & gt= 3 { print } ' | awk“{ print $ 1 } ' | xargs python 3-m pip install-U
解釋壹下這個命令的操作過程:先列表查詢,然後第壹個awk取出大於等於3的內容,第二個awk取出第壹列的內容,然後作為參數傳遞給最後的升級命令。
(PS:測試服務器上有不同版本的Python,所以指定了。關於什麽?-m?推薦閱讀:Python中-m的典型用法、原理分析及開發)
Pip還支持查詢過期的庫,即使用pip list-date命令。默認情況下,查詢的格式類似於pip list,有效內容從第三行開始。妳可以試試。
此外,我們還可以指定- format=freeze format,效果如下:
這種格式可以用cut命令剪切?=?編號,然後取第壹列:
pip列表-過期-format = freeze | cut-d =-f 1 | xargs pip install-U
上述命令在Windows系統中不起作用。有沒有更通用的方法?
方法2:使用pip凍結
如果已安裝的庫被完全升級,您可以首先使用pip freeze命令生成壹個依賴文件,以獲取已安裝的庫及其當前版本號:
pip凍結& gtrequirements.txt
然後修改?==?為了什麽?& gt=?,然後執行:
pip安裝-r要求. txt -升級
這種方法比較適合有依賴文件的具體項目,需要的庫可以針對這個項目進行升級。
方法3:代碼中調用pip的方法
早期pip庫(
#使用子流程導入調用包中的導入pip =[dist。pip中距離的項目名稱。get _ installed _ distributions ()]調用(" pip install-upgrade"+'。join (packages),shell = true)僅在pip的早期版本中。
在較新的版本中,已經放棄了這種方法,相同的函數應該編寫如下:
#較新的pip版本。但是,不建議使用從pip的子流程導入調用。distin get _ installed _ distributions()的_ internal . utils . misimportget _ installed _ distributions。:call(" pip install-upgrade "+dist . project _ name,shell=True)
但是呢?_內部?帶前綴的下劃線表示不打算導出。
關於如何批量更新已安裝的庫,青藤邊肖將在這裏與您分享。如果妳對python編程感興趣,希望這篇文章能幫到妳。如果想了解更多的python編程技巧和資料,可以點擊本網站的其他文章進行學習。