一个 pip 命令包,帮助你实现使用 Python 编程的方式进行包管理操作。
Project description
fastpip
简介
一个 pip 命令包,帮助你实现使用 Python 编程的方式进行包管理操作。
如何安装
注:fastpip 仅支持 Windows 系统。
打开命令窗口或 PowerShell 窗口,使用 pip 命令安装:
pip install -U fastpip
如何使用
示例1:使用 fastpip 升级 Python 环境中的包
import sys
# 导入 PyEnv 类
from fastpip import PyEnv
# 创建 PyEnv 实例:PyEnv(_path)
# 参数 _path 是一个路径,指向 Python 解释器(python.exe)所在目录
# 例如 env = PyEnv(r'C:\Anaconda3\envs\py35')
# 不带参数或者 PyEnv(None) 则使用系统环境变量 PATH 中第一个 Py 环境路径
env = PyEnv()
# 调用 PyEnv 类实例的 outdated 方法获取可更新的包列表
# 参数 output 控制是否在终端显示 pip 命令输出
# 如果在 GUI 程序中使用 fastpip 请将这个参数设置为 False(默认)
# outdated 返回值结构:
# [
# (包名, 已安装版本, 最新版本, 安装包类型),
# ...
# ]
outdated_pkgs = env.outdated(output=1)
# 询问是否安装所有可更新的包,回答非 y 则退出
if input('\n确认更新?y/[n]:').lower() != 'y':
sys.exit(0)
for name, *_ in outdated_pkgs:
# 调用目标环境的 PyEnv 实例的 install 方法进行安装。
# upgrade 参数为 True:
# 以升级模式安装,如果目标环境已安装该包且该包有新版本,则安装新版本,否则跳过。
# upgrade 参数为 False:
# 如果目标环境已安装,不管该包有没有新版本都不会重新安装,直接跳过。
env.install(name, upgrade=1, output=1)
print('全部更新完成!')
示例2:
from fastpip import PyEnv, all_py_paths, cur_py_path, index_urls
# 打印预置的几个国内 PyPi 镜像地址:
print(index_urls)
# {'aliyun': 'https://mirrors.aliyun.com/pypi/simple/',
# 'tencent': 'https://mirrors.cloud.tencent.com/pypi/simple',
# 'douban': 'https://pypi.doubanio.com/simple/',
# 'huawei': 'https://mirrors.huaweicloud.com/repository/pypi/simple',
# 'opentuna': 'https://opentuna.cn/pypi/web/simple',
# 'tsinghua': 'https://pypi.tuna.tsinghua.edu.cn/simple',
# 'netease': 'https://mirrors.163.com/pypi/simple/'}
# 当前系统环境变量 PATH 中第一个 Python 环境路径:
print(cur_py_path())
# C:\Python37\ (具体与个人系统环境变量 PATH 设置有关)
# 在常用安装位置查找 Python 目录:
print(all_py_paths())
# ['C:\\Python37\\',
# 'C:\\Anaconda3\\',
# 'C:\\Anaconda3\\envs\\py35\\',
# 'C:\\Anaconda3\\envs\\py36\\',
# 'C:\\Anaconda3\\envs\\py37\\',
# 'C:\\Anaconda3\\envs\\py38\\',
# 'C:\\Anaconda3\\envs\\py39\\']
# PyEnv 类:
##########
# 实例化一个 PyEnv 类:
target = PyEnv('C:\\Python37\\')
# target = PyEnv() 与上面一行代码效果是一样的,省略参数时 PyEnv 内部会调用 cur_py_path 函数获取系统环境变量 PATH 中第一个 Python 目录路径,如果 Python 路径还未设置到 PATH 中,则创建一个不指向任何 Python 目录路径的 PyEnv 空实例,实例的所有方法被调用时都将返回空值(不同的方法返回的数据类型也不同,但都是可以判为 False 的空值,例如空列表、空字符串)
# 在该环境中安装模块(例如安装 fastpip):
print(target.install('fastpip', upgrade=1))
# 安装成功返回 True,否则返回 False。
# upgrade=1 代表以升级模式安装最新版本,否则如果环境中已安装 fastpip,install 方法将不会再安装一次 fastpip。
# 如果有需要,也可以增加以下关键字参数:
# index_url:str,例如 index_url='https://mirrors.cloud.tencent.com/pypi/simple'。本次安装从镜像地址 index_url 处下载安装,否则从本地设置的全局镜像源地址安装,如果本地未设置全局镜像源地址,则从官方源 PyPi 安装,国内用户下载速度非常慢甚至可能因连接超时导致安装失败。
# timeout:int 或 float 或 None,例如 timeout=30,表示设置安装超时限制30秒,如果安装用时超过30秒,则安装失败。None 代表不设超时限制(默认)。
# output:bool,例如 output=True,表示在安装过程中,在终端上打印安装时的输出信息。
更多使用方法请查看源代码或者用 help:
import fastpip
help(fastpip)
贡献
感谢 liangzai450 的贡献!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
fastpip-1.7.0.tar.gz
(24.9 kB
view details)
Built Distribution
fastpip-1.7.0-py3-none-any.whl
(27.7 kB
view details)
File details
Details for the file fastpip-1.7.0.tar.gz
.
File metadata
- Download URL: fastpip-1.7.0.tar.gz
- Upload date:
- Size: 24.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5866d9ddeb6b71d783eef94068f1e85659563080d57693225591ff8f05d1b717 |
|
MD5 | 2cf8cd730c1178a30280e75588087c2d |
|
BLAKE2b-256 | 34b3f5b871a7005a796f56c18e18ec0b8e65adfd18194f5befa759949e4621d0 |
File details
Details for the file fastpip-1.7.0-py3-none-any.whl
.
File metadata
- Download URL: fastpip-1.7.0-py3-none-any.whl
- Upload date:
- Size: 27.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0117a2164a61ec79fff1c30f9ed04c88478a81dfea824d545f0e9351007e8686 |
|
MD5 | aecdc8530f92f5762105f8ad74b3efea |
|
BLAKE2b-256 | d40f2784e78fc784f1aeb9b848854093842a290b85df66f6bcaf63921637fc49 |