Python3 全自动更新已安装的模块实现


Posted in Python onJanuary 06, 2020

1. 手动操作

1.1. 显示模块

pip list

1.2. 显示过期模块

pip list --outdated

1.3. 安装模块

pip install xxx

1.4. 升级模块

pip install --upgrade xxx

2. 自动操作

手动敲命令升级有点儿麻烦(特别是需要更新的模块比较多时),而我们完全可以用代码简单地实现全自动升级。
代码可以至GitHub下载,也可以复制本文中的代码:

Python3 全自动更新已安装的模块实现

autoUpgradePythonModules.py:

import subprocess
import os

command = "pip list --outdated"

print('正在获取需要升级的模块信息,请稍后...')
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('请按回车键以退出程序。')
print('Press enter key to quit.')
input()

Windows平台下可以运行下面的脚本,该脚本会自动获取管理员权限并进行更新(安装在C盘或者其他一些特殊的目录下可能需要管理员权限才能更新)。

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现的彩票机选器实例
Jun 17 Python
浅谈python爬虫使用Selenium模拟浏览器行为
Feb 23 Python
使用Python的Django和layim实现即时通讯的方法
May 25 Python
使用pandas对两个dataframe进行join的实例
Jun 08 Python
对python requests发送json格式数据的实例详解
Dec 19 Python
对python xlrd读取datetime类型数据的方法详解
Dec 26 Python
对python 合并 累加两个dict的实例详解
Jan 21 Python
Python字典对象实现原理详解
Jul 01 Python
Python内置方法实现字符串的秘钥加解密(推荐)
Dec 09 Python
tensorflow使用range_input_producer多线程读取数据实例
Jan 20 Python
opencv-python的RGB与BGR互转方式
Jun 02 Python
python excel和yaml文件的读取封装
Jan 12 Python
tensorflow 只恢复部分模型参数的实例
Jan 06 #Python
春节到了 教你使用python来抢票回家
Jan 06 #Python
Tensorflow 自定义loss的情况下初始化部分变量方式
Jan 06 #Python
在flask中使用python-dotenv+flask-cli自定义命令(推荐)
Jan 05 #Python
通过 Python 和 OpenCV 实现目标数量监控
Jan 05 #Python
python中count函数简单用法
Jan 05 #Python
Python猴子补丁知识点总结
Jan 05 #Python
You might like
中国广播史趣谈 — 几个历史第一次
2021/03/01 无线电
PHP数组循环操作详细介绍 附实例代码
2013/02/03 PHP
有关PHP性能优化的介绍
2013/06/20 PHP
PHP上传图片进行等比缩放可增加水印功能
2014/01/13 PHP
函数中使用require_once问题深入探讨 优雅的配置文件定义方法推荐
2014/07/02 PHP
CodeIgniter记录错误日志的方法全面总结
2016/05/17 PHP
PHP实现简单日历类编写
2020/08/28 PHP
如何在JavaScript中实现私有属性的写类方式(二)
2013/12/04 Javascript
jQuery+JSON实现AJAX二级联动实例分析
2015/12/18 Javascript
深入理解setTimeout函数和setInterval函数
2016/05/20 Javascript
JavaScript纯色二维码变成彩色二维码
2020/07/23 Javascript
基于Bootstrap的标签页组件及bootstrap-tab使用说明
2017/07/25 Javascript
详谈innerHTML innerText的使用和区别
2017/08/18 Javascript
Bootstrap Table实现定时刷新数据的方法
2018/08/13 Javascript
小程序开发基础之view视图容器
2018/08/21 Javascript
微信小程序自定义tabBar组件开发详解
2020/09/24 Javascript
Vue如何提升首屏加载速度实例解析
2020/06/25 Javascript
解决在Vue中使用axios POST请求变成OPTIONS的问题
2020/08/14 Javascript
Vue管理系统前端之组件拆分封装详解
2020/08/23 Javascript
微信小程序实现下拉加载更多商品
2020/12/29 Javascript
python实现批量监控网站
2016/09/09 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
2016/12/12 Python
python实现自动发送邮件
2018/06/20 Python
django基于存储在前端的token用户认证解析
2019/08/06 Python
html5的canvas方法使用指南
2014/12/15 HTML / CSS
美国在线家装零售商:Build.com
2016/09/02 全球购物
斯德哥尔摩通票:Stockholm Pass
2018/01/09 全球购物
Gloeilampgoedkoop荷兰:在线购买灯泡
2019/02/16 全球购物
值类型与引用类型有什么不同?请举例说明?并分别列举几种相应的数据类型
2015/10/24 面试题
2014三八妇女节活动总结范文四篇
2014/03/09 职场文书
《三个小伙伴》教学反思
2014/04/11 职场文书
党员活动日总结
2014/05/05 职场文书
幼儿园清明节活动总结
2014/07/04 职场文书
2014年会计主管工作总结
2014/12/20 职场文书
Python 详解通过Scrapy框架实现爬取CSDN全站热榜标题热词流程
2021/11/11 Python
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
2022/04/02 Servers