fastpippip 命令包

联合创作 · 2023-09-27 23:09

fastpip 是一个对 pip 命令行操作进行简单封装的包,可以在 Python3 源代码中实现方便的 pip 包管理操作。

注意,fastpip 仅支持 Windows 系统。

特点

  • 包含国内 PyPi 镜像源字典 index_urls、PyEnv 类, all_py_paths 函数, cur_py_path 函数
  • 各类自定义异常:文件查找异常, 参数值异常, 数据类型异常, 目录查找异常, 适用平台异常
  • 以中文方式命名异常名

安装方法

  • 用 pip 命令安装
    pip install -U fastpip

     

  • 从 gitee 安装最新开发版本(推荐)

    pip install psutil
    pip install -U git+https://gitee.com/hrpzcf/fastpip@dev

     

使用示例

# -*- coding: utf-8 -*-

import sys
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控制是否在终端显示类似"正在xxx..."的提示,这里设为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('全部更新完成!')

可以使用 help 方法查阅更多使用帮助

import fastpip
help(fastpip)

 

浏览 7
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报