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所有第三方库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 交通银行Y-POWER信用卡额度多少 你
- 下一篇: websocket python爬虫_p