自動(dòng)更新Python所有第三方庫(kù)

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

pip list

而且一屏還顯示不完瞧预。

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

pip list -o
需要更新的庫(kù)

而pip提供的更新命令只能一個(gè)個(gè)的更新...

pip install -U 庫(kù)名  # 注意U必須大寫

有更新強(qiáng)迫癥的同學(xué)是不是想砸電腦驹止!


于是還是寫個(gè)腳本來(lái)一次性全部更新放闺。
要一次性更新胀糜,那么來(lái)個(gè)笨辦法颅拦,用Python執(zhí)行CMD命令吧...
用Python執(zhí)行CMD命令比較常用的就是subprocess庫(kù),用來(lái)執(zhí)行子進(jìn)程教藻。

腳本思路:
先執(zhí)行pip list -o 命令獲取所有的更新列表距帅;
然后從更新列表中取出需要更新的第三方庫(kù)名;
循環(huán)執(zhí)行pip install -U 庫(kù)名括堤。

腳本如下:

import subprocess

# pip顯示需要更新的python列表
com_list_o = 'pip list -o' 
# 執(zhí)行命令并返回結(jié)果
p = subprocess.Popen(com_list_o, shell=True, stdout=subprocess.PIPE)
# 取命令返回結(jié)果锥债,結(jié)果是一個(gè)二進(jìn)制字符串,包含了我們上面執(zhí)行pip list -o后展現(xiàn)的所有內(nèi)容
out = p.communicate()[0]
# 二進(jìn)制轉(zhuǎn)utf-8字符串
out = str(out, 'utf-8')

# 切出待升級(jí)的包名, 并存入列表
need_update = []
for i in out.splitlines()[2:]:
    need_update.append(i.split(' ')[0])

# 執(zhí)行升級(jí)命令痊臭,每次取一個(gè)包進(jìn)行升級(jí),pip只支持一個(gè)包一個(gè)包的升級(jí)
for nu in need_update:
    com_update = 'pip install -U {py}'.format(py=nu)
    print("執(zhí)行命令:", com_update)
    subprocess.call(com_update)
    print("----------{com} 執(zhí)行結(jié)束-----------\n".format(com=com_update))


print("檢查更新情況:")
subprocess.call(com_list_o)

執(zhí)行結(jié)果

由于我的Python2和Python3都有登夫,環(huán)境變量加的是Python2广匙,因此Python3的pip命令在執(zhí)行的時(shí)候要寫成py -3 -m pip list -opy -3 -m pip install -U 庫(kù)名

腳本執(zhí)行時(shí)間會(huì)嚴(yán)重受網(wǎng)絡(luò)情況影響恼策,不過好歹實(shí)現(xiàn)了一次更新所有第三方庫(kù)鸦致。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市涣楷,隨后出現(xiàn)的幾起案子分唾,更是在濱河造成了極大的恐慌,老刑警劉巖狮斗,帶你破解...
    沈念sama閱讀 216,919評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绽乔,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡碳褒,警方通過查閱死者的電腦和手機(jī)折砸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)沙峻,“玉大人睦授,你說(shuō)我怎么就攤上這事∷ふ” “怎么了去枷?”我有些...
    開封第一講書人閱讀 163,316評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我删顶,道長(zhǎng)竖螃,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,294評(píng)論 1 292
  • 正文 為了忘掉前任翼闹,我火速辦了婚禮斑鼻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘猎荠。我一直安慰自己坚弱,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,318評(píng)論 6 390
  • 文/花漫 我一把揭開白布关摇。 她就那樣靜靜地躺著荒叶,像睡著了一般。 火紅的嫁衣襯著肌膚如雪输虱。 梳的紋絲不亂的頭發(fā)上些楣,一...
    開封第一講書人閱讀 51,245評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音宪睹,去河邊找鬼愁茁。 笑死,一個(gè)胖子當(dāng)著我的面吹牛亭病,可吹牛的內(nèi)容都是我干的鹅很。 我是一名探鬼主播,決...
    沈念sama閱讀 40,120評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼罪帖,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼促煮!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起整袁,我...
    開封第一講書人閱讀 38,964評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤菠齿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后坐昙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绳匀,經(jīng)...
    沈念sama閱讀 45,376評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,592評(píng)論 2 333
  • 正文 我和宋清朗相戀三年民珍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了襟士。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,764評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡嚷量,死狀恐怖陋桂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蝶溶,我是刑警寧澤嗜历,帶...
    沈念sama閱讀 35,460評(píng)論 5 344
  • 正文 年R本政府宣布宣渗,位于F島的核電站,受9級(jí)特大地震影響梨州,放射性物質(zhì)發(fā)生泄漏痕囱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,070評(píng)論 3 327
  • 文/蒙蒙 一暴匠、第九天 我趴在偏房一處隱蔽的房頂上張望鞍恢。 院中可真熱鬧,春花似錦每窖、人聲如沸帮掉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蟆炊。三九已至,卻和暖如春瀑志,著一層夾襖步出監(jiān)牢的瞬間涩搓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工劈猪, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留昧甘,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,819評(píng)論 2 370
  • 正文 我出身青樓战得,卻偏偏與公主長(zhǎng)得像疾层,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子贡避,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,665評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容