今天推荐一个github的开源工具 pkgu,支持以表格形式展示当前python环境下的有新版本的package的版本信息,并支持全部或部分更新这些已经过期或者有新版的库。

该工具目前还提供了 cache 功能,会将当前python环境下的过期包信息保存在数据库内,数据库采用了python的 sqlite3 内置数据库,数据库文件保存在 ~/.cache/cache.db 下,并支持过期后重新执行脚本获取过期库的数据,然后覆盖更新,默认过期时间是 43200秒

支持windows、linux和macos,但是python版本要在python3.10(包括)及以上。

并且你可以在你的主python环境安装它,它会被安装在主python环境下的 bin 目录内。这样,即使你在其他虚拟python环境下,也可以主动发现当前环境下的python路径,并通过python -m pip 去发现当前虚拟python环境下的安装包信息。

安装

pip install pkgu

使用

╰─± pkgu -h
usage: pkgu [-h] [-a] [-d CACHE_FOLDER] [-e EXPIRE_TIME] [--no-cache] [-v] Upgrade python lib. options:
-h, --help show this help message and exit
-a, --async_upgrade Update the library asynchronously. Default: False
-d CACHE_FOLDER, --cache_folder CACHE_FOLDER
The cache.db file. Default: ~/.cache/cache.db
-e EXPIRE_TIME, --expire_time EXPIRE_TIME
The expiration time. Default: 43200
--no-cache Whether to use db cache. Default: False
-v, --version Display pkgu version and information

主要参数说明:

  • -a : 开启异步更新, 默认不开启
  • -d: 设置 cache.db 所在的位置, 默认 ~/.cache/cache.db
  • -e: 设置数据库的过期时间, 默认 43200 秒(12小时)
  • --no-cache: 是否开启缓存,如果不开启,每次都需要重新执行去获取过期库的包。默认不开启

检查更新

╰─± pkgu -a
( ● ) checking for updates...2023-08-30 22:21:39.869 | DEBUG | pkgu:get_result_with_no_cache:622 - Origin result
+---------------+---------+----------------+-----------------+
| Name | Version | Latest Version | Latest FileType |
+---------------+---------+----------------+-----------------+
| cfgv | 3.3.1 | 3.4.0 | wheel |
| distlib | 0.3.6 | 0.3.7 | wheel |
| filelock | 3.9.0 | 3.12.3 | wheel |
| identify | 2.5.24 | 2.5.27 | wheel |
| mock | 4.0.3 | 5.1.0 | wheel |
| pip | 23.0.1 | 23.2.1 | wheel |
| platformdirs | 3.0.0 | 3.10.0 | wheel |
| pluggy | 1.2.0 | 1.3.0 | wheel |
| pydantic | 2.2.1 | 2.3.0 | wheel |
| pydantic_core | 2.6.1 | 2.7.0 | wheel |
| Pygments | 2.15.1 | 2.16.1 | wheel |
| pytest | 6.2.5 | 7.4.0 | wheel |
| PyYAML | 6.0 | 6.0.1 | wheel |
| ruff | 0.0.277 | 0.0.286 | wheel |
| setuptools | 67.6.1 | 68.1.2 | wheel |
| stevedore | 5.0.0 | 5.1.0 | wheel |
| virtualenv | 20.20.0 | 20.24.3 | wheel |
| wheel | 0.40.0 | 0.41.2 | wheel |
+---------------+---------+----------------+-----------------+
continue with the package update?
> yes
no
# 选择yes后
Update all packages listed above or portion of them?
all
> portion # 选择portion部分更新
Select one of these packages to update
[ ] cfgv@3.3.1=>3.4.0
[ ] distlib@0.3.6=>0.3.7
[ ] filelock@3.9.0=>3.12.3
[ ] identify@2.5.24=>2.5.27
[*] mock@4.0.3=>5.1.0
[ ] pip@23.0.1=>23.2.1
[ ] platformdirs@3.0.0=>3.10.0
[ ] pluggy@1.2.0=>1.3.0
[ ] pydantic@2.2.1=>2.3.0
[ ] pydantic_core@2.6.1=>2.7.0
[ ] Pygments@2.15.1=>2.16.1
[ ] pytest@6.2.5=>7.4.0
[*] PyYAML@6.0=>6.0.1
> [*] ruff@0.0.277=>0.0.286
[ ] setuptools@67.6.1=>68.1.2
[ ] stevedore@5.0.0=>5.1.0
[ ] virtualenv@20.20.0=>20.24.3
[ ] wheel@0.40.0=>0.41.2
(Press "/" to search)
Press <space>, <tab> for multi-selection and <enter> to select and accept

可以支持多选更新。

⠹ installing ruff, version: from 0.0.277 to 0.0.286... installed PyYAML, version: from 6.0 to 6.0.1...
installed mock, version: from 4.0.3 to 5.1.0...
installed ruff, version: from 0.0.277 to 0.0.286...
------------------------------------------------------------
Successfully installed 3 packages. 「mock, PyYAML, ruff」
Unsuccessfully installed 0 packages. 「」

通过上面看出,它可以很方便的使用,帮助我们平常查看哪些包需要更新,以及更新你所需要更新的一些包。

简洁好用的python-pip包更新工具的更多相关文章

  1. Python的包管理工具Pip (zz )

    Python的包管理工具Pip 接触了Ruby,发现它有个包管理工具RubyGem很好用,并且有很完备的文档系统http://rdoc.info 发现Python下也有同样的工具,包括easy_ins ...

  2. Python PIP包管理器

    版权所有,未经许可,禁止转载 章节 Python 介绍 Python 开发环境搭建 Python 语法 Python 变量 Python 数值类型 Python 类型转换 Python 字符串(Str ...

  3. Python的包管理工具

    Python的包管理工具 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.为什么使用包管理 Python的模块或者源文件直接可以复制到目标项目目录中,就可以导入使用了. 但是为了 ...

  4. python pip包管理

    pip 是一个安装和管理 Python 包的工具 , 是 easy_install 的一个替换品.本文将详细说明 安装 pip 的方法和 使用 pip 的一些基本操作如安装.更新和卸载 python ...

  5. Python学习笔记(十二)—Python3中pip包管理工具的安装【转】

    本文转载自:https://blog.csdn.net/sinat_14849739/article/details/79101529 版权声明:本文为博主原创文章,未经博主允许不得转载. https ...

  6. 5、Python之包管理工具pip

    pip提供我们各色各样的软件(第三方库),而这些第三方库又可以给我们实现各种各样不同的功能,科学计算.画图.操作文件.聊天-- 我们可以通过Cmd终端.Pycharm.Jupyter三种平台使用pip ...

  7. 【转载】Python的包管理工具Pip

    接触了Ruby,发现它有个包管理工具RubyGem很好用,并且有很完备的文档系统http://rdoc.info 发现Python下也有同样的工具,包括easy_install和Pip.不过,我没有细 ...

  8. Python的包管理工具--PIP安装使用

    最新安装方式 # wget https://bootstrap.pypa.io/get-pip.py # python get-pip.py  // 使用该方式安装已经不再要求提前安装setuptoo ...

  9. Python的包管理工具Pip

    接触了Ruby,发现它有个包管理工具RubyGem非常好用,而且有非常完备的文档系统http://rdoc.info 发现Python下也有相同的工具,包含easy_install和Pip.只是,我没 ...

  10. Python之包管理工具:distutils、setuptools、distribute、setup.py、easy_install、easy_install、pip

    在安装Python包的过程中,经常涉及到distutils.setuptools.distribute.setup.py.easy_install.easy_install和pip等等. 介绍:htt ...

随机推荐

  1. 实现MyBatisPlus自定义sql注入器

    目标:新增mysql下的 插入更新的语法 INSERT INTO %s %s VALUES %s ON DUPLICATE KEY UPDATE %s 新增方法类,新增的方法名称为insertOrUp ...

  2. 树莓派4b部署samba服务实现文件共享

    注意 samba 生命力很旺盛,软件是在不断更新的, 网上很多针对 samba 网速优化设置截止当前 实测发现有很多已经过期, 甚至有些设置会适得其反,使传输速度更低. 例如, 全网都在配置的参数,& ...

  3. CSP-S 考前备战——常考知识点串烧

    1.树形结构 与 树形dp PS :在CSP-S 2019,CSP-J 2020,CSP-S 2020,CSP-S 2021 均有考查 此类问题的做题方法就是将问题转化成树上的问题,然后进行深度优先遍 ...

  4. canvas实现动态替换人物的背景颜色

    起因 今天遇见一个特别有意思的小功能. 就是更换人物图像的背景颜色. 大致操作步骤就是:点击人物-实现背景颜色发生变化 将图片绘画到canvas画布上 我们需要将图片绘制到canvas画布上. 这样做 ...

  5. UIPath流程控制

    应当仔细地观察,为的是理解:应当努力地理解,为的是行动.   UIPath程序中流程控制主要包括条件语句.循环语句以及中断语句.下面我们一一学习这些语句在RPA流程设计中的使用. 1. 条件判断 if ...

  6. python之递归(斐波那契数列)与迭代

    对于较大的计算来说,迭代不如递归计算速度快,并且可以说非常慢 但是迭代对于较小的运算又比递归巧妙 # 迭代方法 def slowsnail(x): am = [1, 1] if x < 0: p ...

  7. 总结--flask部分

    Flask框架的诞生: Flask诞生于2010年,是Armin ronacher(人名)用Python语言基于Werkzeug工具箱编写的轻量级Web开发框架. Flask本身相当于一个内核,其他几 ...

  8. 关于微信小程序中如何实现数据可视化-echarts动态渲染

    移动端设备中,难免会涉及到数据的可视化展示.数据统计等等,本篇主要讲解原生微信小程序中嵌入echarts并进行动态渲染,实现数据可视化功能. 基础使用 首先在GitHub上下载echarts包 地址: ...

  9. 吉客云与用友U8的系统数据集成对接方案

    吉客云与用友U8之间的系统数据集成方案.吉客云作为一款电商ERP产品,旨在为企业的数字化升级提供全方位的支持.用友U8是一个经过多年发展的信息化管理系统,见证了企业信息化从简单到精细.从局部到全面的转 ...

  10. Navicat远程连接Centos8.4服务器MySQL8.0数据库

    一.首先登陆服务器后台管理,使服务器开放3306策略 二.开启远程连接 1.登陆服务器的MySQL数据库 mysql -uroot -p 2.登录成功后,切换数据库 use mysql; 3.查看当前 ...