鱼C论坛

 找回密码
 立即注册
查看: 2365|回复: 6

[作品展示] 一个对pip命令进行简单封装的小模块 - fastpip【更新、安装、卸载等功能】

[复制链接]
发表于 2020-10-18 23:44:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 hrp 于 2021-2-22 22:53 编辑

如何安装

pip安装:
  1. pip install -U fastpip
复制代码


注:fastpip仅支持Windows系统。


演示截图
GIF 2020-10-18 22-49-34.gif


如何使用

注:如果pip操作过程总是检查不到更新(确认有更新的情况下)、出现SSL之类的警告字眼或长时间检查不到更新(outdated方法默认30秒超时),请到OpenSSL下载安装32位的OpenSSL(32和64位Python都可以调用),如图所示。
批注 2020-10-19 070817.png

使用fastpip升级Python环境中的包示例(fastpip 0.2.0及以上):
  1. # -*- coding: utf-8 -*-

  2. import sys

  3. # 用星号通配符导入全部(不推荐)
  4. # 使用星号通配符导入的内容包括:
  5. # 国内PyPi镜像源字典index_urls、PyEnv类, all_py_paths函数, cur_py_path函数
  6. # 各类自定义异常:文件查找异常, 参数值异常, 数据类型异常, 目录查找异常, 适用平台异常
  7. # 没错异常名就是中文的,有点浮夸
  8. # from fastpip import *

  9. # 如果有需要,也可以导入:
  10. # 预设国内镜像源地址字典index_urls(包含七个国内PyPi镜像源)、
  11. # 获取当前系统环境变量PATH第一个Python目录函数cur_py_path、
  12. # 自动查找所有Python目录函数all_py_paths等。
  13. from fastpip import PyEnv

  14. # 生成一个PyEnv类实例
  15. # 初始化参数原型是PyEnv(path)
  16. # 初始化参数path是一个指向Python解释器(python.exe)所在目录的路径
  17. # 例如 target_env = PyEnv(r'C:\Anaconda3\envs\py35')
  18. # 初始化path为空字符串(即'')或省略,则自动查找Python目录
  19. # 自动查找调用函数顺序:cur_py_path > all_py_paths[0],仍然找不到则抛出异常
  20. target_env = PyEnv()

  21. # 调用PyEnv类实例的outdated方法获取可更新列表
  22. # 参数no_output控制是否在终端显示pip命令输出,这里设置为False表示输出
  23. # 参数no_tips控制是否在终端显示类似"正在..."的提示,这里设为False表示显示提示
  24. # 如果在GUI程序中使用fastpip请确保这两个参数都设置为True
  25. # outdated返回值结构:
  26. # [
  27. # (包名, 已安装版本, 最新版本, 安装包类型),
  28. # ...
  29. # ]
  30. outdated_pkgs = target_env.outdated(no_output=0, no_tips=0)

  31. # 如果可更新列表为空则退出
  32. if not outdated_pkgs:
  33.     print('没有发现可以更新的包。')
  34.     sys.exit(0)

  35. # 询问是否安装所有可更新的包,回答非y则退出
  36. if input('\n确认更新?y/n:').lower() != 'y':
  37.     sys.exit(0)

  38. # 可更新列表不为空则按可更新的包名循环安装
  39. for name, *_ in outdated_pkgs:
  40.     # 调用操作对象的install方法进行安装,安装模式upgrade(升级模式)参数设为True
  41.     target_env.install(name, upgrade=1, no_tips=0)

  42. print('全部更新完成!')
复制代码

更多方法请直接查看源代码(推荐)或
  1. import fastpip
  2. print(help(fastpip))
复制代码



源代码

Gitee主页

GitHub主页

评分

参与人数 1荣誉 +5 贡献 +3 收起 理由
昨非 + 5 + 3 鱼C有你更精彩^_^

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-19 01:23:23 From FishC Mobile | 显示全部楼层
明天试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-19 07:30:38 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-19 12:04:04 From FishC Mobile | 显示全部楼层
没有人么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-7 19:16:50 | 显示全部楼层
2020.11.07

fastpip 已经更新到 0.2.7 版本:
1. 修复非终端环境下运行跳出终端窗口的问题。
2. 支持以支持通配符的方式从fastpip.errors导入所有异常类(from fastpip.errors import *)。



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-10 14:44:04 | 显示全部楼层
fastpip已更新至0.4.2(2021.2.9)

更新详情:
fastpip 版本发布页
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-12 21:37:25 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-27 07:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表