windows下基于bat批处理脚本从pypi进行pip更新自动处理

warning: 此文适用于技术实现的探讨,请在实际工作过程中灵活运用。必要时请手动回退包版本,以免因为包版本问题对生产环境造成破坏。

  1. 完整实现过程
    完整实现过程适用于想快速实现批处理的朋友,我将详细介绍每个操作步骤,并附带脚本代码,并尽量避免可产生歧义的操作描述。
    1.1 打开windows终端软件
      可以同时按下 “windows” + “r” 键–> 输入cmd
    1.2 进入桌面目录, 并创建bat文件
cd desktop
type nul > runpip.bat
notepad runpip.bat

  1.3 复制粘贴以下内容:

@echo off
chcp 65001
setlocal enabledelayedexpansion

:: 升级pip
echo 升级pip
python -m pip install pip --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple
echo over!

:: 整pip install
echo 获取可升级的包
set num=0
for /f %%i in ('python -m pip list --outdated') do (
    if !num! gtr 1 (
        python -m pip install %%i --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple
    )
    set /a num=!num! + 1
)
echo over!

  1.4 按下 “ctrl” + “s” 后再按下 “alt” + “F4” 保存退出。
  1.5 回到 cmd 界面,输入如下:

.\runpip.bat
  1. 需要注意
    技术细节的解析将围绕此bat脚本展开,而不对创建脚本的过程过多深入。脚本如下:
    Alt
    在其中有两个需要注意的点
  • 首先是 for /f %%i in ('python -m pip list --outdated') do 这句,其中的 python -m... 语句要用单引号括起来,这被编译器识别为操作语句,否则编译器将便利当前目录寻找名为 "python -m..." 的文件。
  • 其次就是我在代码中强调的延迟变量了,这算是bat操作中很抽象的一个点,需要加以注意。
  1. 脚本文件可扩展方向
    此文件虽说实现了批处理所有的python包更新,但是没有给操作者提供可选择的空间,因此我们可以考虑扩展此程序,例如在包管理过程中添加数组操作,先打印数组,再选择要更新的包。
  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值