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

1. 手动操作

1.1. 显示模块

pip list

1.2. 显示过期模块

pip list --outdated

1.3. 安装模块

pip install xxx

1.4. 升级模块

pip install --upgrade xxx

2. 自动操作

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

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

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

(0)

相关推荐

  • Python编程实现双击更新所有已安装python模块的方法

    本文实例讲述了Python编程实现双击更新所有已安装python模块的方法.分享给大家供大家参考,具体如下: 首先声明我是一个升级控.几乎每天会查看一下手机.电脑是否有新的应用需要更新. 同样,我的python模块也是这样.百度了一下,发现目前还没有人将更新所有模块做成一件命令,但是查到了指引,主要就是两个命令. pip list --outdated pip install -U xxxx 当然,如果你只是安装了几个python模块,重复执行几次命令也是可以的,也不会太烦,也不会浪费时间. 有

  • 更新修改后的Python模块方法

    python如何更新修改后的Python模块 1.利用python的MySQLdb模块利用原生的sql语句进行更新的方法代码 配置方法代码 2.使用execute方法执行SQL语句方法代码 方法二: 1.利用python的框架flask和sqlalchemy进行更新的方法代码: 配置数据库的方法代码 2.执行链接数据库的方法代码 3.处理数据表的方法代码 4.执行更新数据库函数的代码 方法三: 1.防止数据对象被reload重置的编码方案的方法代码 2.用reload的封装使用的方法代码

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

    1. 手动操作 1.1. 显示模块 pip list 1.2. 显示过期模块 pip list --outdated 1.3. 安装模块 pip install xxx 1.4. 升级模块 pip install --upgrade xxx 2. 自动操作 手动敲命令升级有点儿麻烦(特别是需要更新的模块比较多时),而我们完全可以用代码简单地实现全自动升级. 代码可以至GitHub下载,也可以复制本文中的代码: autoUpgradePythonModules.py: import subproc

  • Python 如何批量更新已安装的库

    众所周知,升级某个库(假设为 xxx),可以用pip install --upgrade xxx 命令,或者简写成pip install -U xxx . 如果有多个库,可以依次写在 xxx 后面,以空格间隔.那么,如何简单优雅地批量更新系统中全部已安装的库呢? 接下来我们直奔主题,带大家学习几种方法/骚操作吧! 方法一:pip list 结合 Linux 命令 pip list 命令可以查询已安装的库,结合 Linux 的一些命令(cut.sed.awk.grep--),可以直接在命令行中实现

  • pycharm内无法import已安装的模块问题解决

    今天安装了几个模块,在cmd测试都正常,但是在pycharm就不行,后面试了以下方法: 1. 2. 3.选择python.exe 4.然后在回到settings截面就可以直接选择python安装目录下的python.exe 2018.07.13,追加: 在学习了一段时间的python,这个问题其实很简单,自己创建一个python虚拟环境,然后再这个虚拟环境里面安装你所需要的所有模块,最后在pycharm里面添加这个虚拟环境就行了. 一.创建pthon虚拟环境env: 1.首先要安装虚拟环境包:

  • Win10环境python3.7安装dlib模块趟过的坑

    在头条看了一篇文章,说五行代码实现人脸识别,一时感兴趣了,来搞搞 先是按照文章说的 操作了几步,到后面虽然,import dlib 不报错,但是 代码里面运行的时候 detector = dlib.get_frontal_face_detector() 这句话报错,说是 dlib模块找到不到get_frontal_face_detector属性(当然愿意可能是我按照文章的操作过程中忽略了几个报错信息) 后来也在网上找了很多文章,资料学习,要么是资料讲的不够仔细 也不够全面,导致问题一直没解决,后

  • Python3离线安装Requests模块问题

    最近运维上需要在测试环境调用http的post请求,实现自动化日切,我看了下我会的编程,也就python能符合我的要求,且简单好操作.但是在实际操作过程遇到了一些问题,其中最大的就是测试环境的机器是外网隔离的,没法连外网进行直接安装部分模块,通过搜索和实践之后,简单说下我的经验. 机器环境 操作系统:Windows Server 2012 x64 python3安装 从 [官网] 下载最新的适合windows 的安装包. 下载下来的python-3.7.4-amd64.exe,直接拷贝到测试环境

  • python通过pip更新所有已安装的包实现方法

    较新的pip已经支持list --outdated了,所以记录一下新的方法: pip list --outdated --format=legacy |awk '{print $1}' |xargs sudo -H pip install -U pip3 list --outdated --format=legacy |awk '{print $1}' |xargs sudo -H pip3 install -U format有两个选项,一个是legacy,一个是columns.后者会带一个表头

  • Nginx为已安装nginx动态添加模块

    这里以安装第三方ngx_http_google_filter_module模块为例 nginx的模块是需要重新编译nginx,而不是像apache一样配置文件引用.so 1. 下载第三方扩展模块ngx_http_google_filter_module # cd /data/software/ # git clone https://github.com/cuber/ngx_http_google_filter_module 2. 查看nginx编译安装时安装了哪些模块 将命令行切换到nginx

  • Nginx之为已安装nginx动态添加模块的方法

    说明: 已经安装好的nginx,需要添加一个未被编译安装的模块,需要怎么弄呢? 具体: 这里以安装第三方ngx_http_google_filter_module模块为例 nginx的模块是需要重新编译nginx,而不是像apache一样配置文件引用.so 1. 下载第三方扩展模块ngx_http_google_filter_module # cd /data/software/ # git clone https://github.com/cuber/ngx_http_google_filte

  • python3.6中anaconda安装sklearn踩坑实录

    首先我是用pycharm完成的,要确定命令行和界面里是同一个环境. 如果不确定可以设置再add在新增加的环境里看现在是哪个环境,只要选择已有的环境,虽然project interpreter里面好像新增了个(2),但是包可以直接移植过来. 然后可以检查一下自己现在的Python版本和conda版本和解释器里的一样不. conda是在终端输入,conda info -e,第一个星号就是自己的版本. Python是在Python终端里面输入,import sys和sys.executable查看当前

随机推荐