日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 升级所有库_自动更新Python所有第三方库

發布時間:2023/12/10 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 升级所有库_自动更新Python所有第三方库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一般python用得比較久以后,就會安裝很多第三方的庫。比如這是我的pip list情況:

pip list

而且一屏還顯示不完。

通過如下命令可以看到需要更新的第三方庫:

pip list -o

需要更新的庫

而pip提供的更新命令只能一個個的更新...

pip install -U 庫名 # 注意U必須大寫

有更新強迫癥的同學是不是想砸電腦!

于是還是寫個腳本來一次性全部更新。

要一次性更新,那么來個笨辦法,用Python執行CMD命令吧...

用Python執行CMD命令比較常用的就是subprocess庫,用來執行子進程。

腳本思路:

先執行pip list -o 命令獲取所有的更新列表;

然后從更新列表中取出需要更新的第三方庫名;

循環執行pip install -U 庫名。

腳本如下:

import subprocess

# pip顯示需要更新的python列表

com_list_o = 'pip list -o'

# 執行命令并返回結果

p = subprocess.Popen(com_list_o, shell=True, stdout=subprocess.PIPE)

# 取命令返回結果,結果是一個二進制字符串,包含了我們上面執行pip list -o后展現的所有內容

out = p.communicate()[0]

# 二進制轉utf-8字符串

out = str(out, 'utf-8')

# 切出待升級的包名, 并存入列表

need_update = []

for i in out.splitlines()[2:]:

need_update.append(i.split(' ')[0])

# 執行升級命令,每次取一個包進行升級,pip只支持一個包一個包的升級

for nu in need_update:

com_update = 'pip install -U {py}'.format(py=nu)

print("執行命令:", com_update)

subprocess.call(com_update)

print("----------{com} 執行結束-----------\n".format(com=com_update))

print("檢查更新情況:")

subprocess.call(com_list_o)

執行結果

由于我的Python2和Python3都有,環境變量加的是Python2,因此Python3的pip命令在執行的時候要寫成py -3 -m pip list -o和py -3 -m pip install -U 庫名。

腳本執行時間會嚴重受網絡情況影響,不過好歹實現了一次更新所有第三方庫。

總結

以上是生活随笔為你收集整理的python 升级所有库_自动更新Python所有第三方库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。