鱼C论坛

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

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

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

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

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

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

如何安装

pip安装:
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及以上):
# -*- coding: utf-8 -*-

import sys

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

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

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

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

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

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

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

print('全部更新完成!')
更多方法请直接查看源代码(推荐)或
import fastpip
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-11-23 02:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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