Python3 全自動(dòng)更新已安裝的模塊實(shí)現(xiàn)
1. 手動(dòng)操作
1.1. 顯示模塊
pip list
1.2. 顯示過(guò)期模塊
pip list --outdated
1.3. 安裝模塊
pip install xxx
1.4. 升級(jí)模塊
pip install --upgrade xxx
2. 自動(dòng)操作
手動(dòng)敲命令升級(jí)有點(diǎn)兒麻煩(特別是需要更新的模塊比較多時(shí)),而我們完全可以用代碼簡(jiǎn)單地實(shí)現(xiàn)全自動(dòng)升級(jí)。
代碼可以至GitHub下載,也可以復(fù)制本文中的代碼:

autoUpgradePythonModules.py:
import subprocess
import os
command = "pip list --outdated"
print('正在獲取需要升級(jí)的模塊信息,請(qǐng)稍后...')
print('Getting the information of outdated modules, wait a moment...')
print()
outdatelist = subprocess.Popen (command, stdout=subprocess.PIPE,stderr=subprocess.PIPE, shell = True).stdout.readlines()
updatelist = []
#print(outdatelist)
for i in outdatelist:
i = str(i, encoding='utf-8')
print(i,end='')
i = i[:i.find(' ')]
updatelist.append(i)
#print('\n', i, len(i))
updatelist = updatelist[2:]
#print(updatelist)
c = 1
total = len(updatelist)
if updatelist :
for x in updatelist:
print('\n', c, '/', total, ' upgrading ', x, sep='')
c += 1
tempcmd = "pip install --upgrade " + x
os.system(tempcmd)
print("所有模塊都已更新完畢!!")
print('All modules have been updated.')
else :
print("沒有模塊需要更新??!")
print('All modules is updated.')
print('請(qǐng)按回車鍵以退出程序。')
print('Press enter key to quit.')
input()
Windows平臺(tái)下可以運(yùn)行下面的腳本,該腳本會(huì)自動(dòng)獲取管理員權(quán)限并進(jìn)行更新(安裝在C盤或者其他一些特殊的目錄下可能需要管理員權(quán)限才能更新)。
autoUpgradePythonModules.bat:
@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"
start python autoUpgradePythonModules.py
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
VScode中不同目錄間python庫(kù)函數(shù)的調(diào)用
本文主要介紹了VScode中不同目錄間python庫(kù)函數(shù)的調(diào)用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
python創(chuàng)建學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python創(chuàng)建學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11
python操作手機(jī)app的實(shí)現(xiàn)步驟
本文主要介紹了python操作手機(jī)app的實(shí)現(xiàn)步驟,本文將結(jié)合實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07
Django框架ORM操作數(shù)據(jù)庫(kù)不生效問(wèn)題示例解決方法
本文詳細(xì)描述使用Django 的ORM框架操作PostgreSQL數(shù)據(jù)庫(kù)刪除不生效問(wèn)題的定位過(guò)程及解決方案,并總結(jié)使用ORM框架操作數(shù)據(jù)庫(kù)不生效的問(wèn)題的通用定位方法,感興趣的朋友跟隨小編一起看看吧2023-01-01
Python的反射函數(shù)與內(nèi)省工具深入解析
這篇文章主要為大家介紹了Python的反射函數(shù)與內(nèi)省工具深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06

