Skip to main content

一个 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


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)

Uploaded Source

Built Distribution

fastpip-1.7.0-py3-none-any.whl (27.7 kB view details)

Uploaded Python 3

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

Hashes for fastpip-1.7.0.tar.gz
Algorithm Hash digest
SHA256 5866d9ddeb6b71d783eef94068f1e85659563080d57693225591ff8f05d1b717
MD5 2cf8cd730c1178a30280e75588087c2d
BLAKE2b-256 34b3f5b871a7005a796f56c18e18ec0b8e65adfd18194f5befa759949e4621d0

See more details on using hashes here.

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

Hashes for fastpip-1.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0117a2164a61ec79fff1c30f9ed04c88478a81dfea824d545f0e9351007e8686
MD5 aecdc8530f92f5762105f8ad74b3efea
BLAKE2b-256 d40f2784e78fc784f1aeb9b848854093842a290b85df66f6bcaf63921637fc49

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page