双击更新所有已安装的python模块
首先声明我是一个升级控。几乎每天会查看一下手机、电脑是否有新的应用需要更新。
同样,我的python模块也是这样。百度了一下,发现目前还没有人将更新所有模块做成一件命令,但是查到了指引,主要就是两个命令。
pip list --outdated
pip install -U xxxx
当然,如果你只是安装了几个python模块,重复执行几次命令也是可以的,也不会太烦,也不会浪费时间。
有了这两个命令,足够了。于是写了一个脚本。
import subprocess command = "pip list --outdated" outdatelist = subprocess.Popen (command, stdout=subprocess.PIPE,stderr=subprocess.PIPE, shell = True).stdout.readlines() updatelist = [x.split("(")[0] for x in outdatelist ] if updatelist : print u"您需要更新以下几个模块:" print updatelist for x in updatelist: tempcmd = "pip install -U " + x print subprocess.Popen (tempcmd, stdout=subprocess.PIPE,stderr=subprocess.PIPE, shell = True).stdout.readlines() print u"所有模块都已更新完毕!!" else : print u"没有模块需要更新!!"
是不是很简单?