【Web_环境搭建_Python3_pip】pip的升级、安装、更新、卸载,以及pipupgrade和pip-review的基础使用

** 官方说明 **

  • pip(Python Package Index)是一个以 Python 语言写成的软件包管理系統,使用 pip 可以非常方便的安装和管理 python 软件包

PIP

** 查看信息 **

  • 查看版本 : pip --version
  • 查看已有 : pip list、pip freeze
  • 查看帮助 : pip help
  • 查看库信息 : pip show -f package_name
  • 查看需要升级的库 : pip list -o、pip list --outdated
  • 验证已安装的库是否有兼容依赖问题 : pip check package-name

** 版本升级 **

  • 修复版本 : python -m ensurepip 重新下载pip
  • 升级版本 :
    • pip install -U pip
    • pip install --upgrade pip
    • python -m pip install -i https://pypi.douban.com/simple --upgrade pip

** 安装库包 **

  • 最新版本 : pip install package_name
  • 指定版本 : pip install package_name==1.1.2
  • 最小版本 : pip install ‘package_name>=1.1.2’
  • 指定源头 : pip install -i https://pypi.douban.com/simple/ package
  • 生成清单 : pip freeze > C:\MyFiles\requirements_20220830.txt
  • 批量安装 : pip install -r C:\MyFiles\requirements_20220830.txt
  • 批量安装 : pip install -i https://pypi.douban.com/simple -r D:\Mytest\requirements_20220313.txt 更换下载源
  • 离线下载 : https://www.lfd.uci.edu/~gohlke/pythonlibs/
  • 离线安装 : pip install matplotlib?3.4.1?cp39?cp39?win_amd64.whl (先进入whl目录,再进入cmd)
  • 下载并保存whl格式 : pip download package_name -d “要保存的文件路径”
  • 下载但不安装 : pip install <包名> -d <目录>、pip install -d <目录> -r requirements.txt

** 更新库包 **

  • 更新库包: pip install --upgrade package
  • 更新库包: pip install -U package # --upgrade 可简写为 -U

** 卸载库包 **

  • 卸载库包 : pip uninstall package_name
  • 批量卸载 : pip uninstall -r requirements.txt
  • 卸载pip : python -m pip uninstall pip

** pip生成依赖清单 **

  • 生成全局依赖:pip freeze > C:\MyFiles\requirements_20220830.txt
  • 生成框架依赖:

      1. 添加项目虚拟环境:Project Interpreter,点击"+"号,新增虚拟依赖virtualenv enviroment
    
      1. 通过虚拟路径生成:进入venv/Scripts/,执行python.exe -m pip freeze > requirements.txt
  • 安装依赖方式一:pip3 install -r C:\MyFiles\requirements_20220830.txt 有警告信息
  • 安装依赖方式二:python.exe -m pip3 install -r C:\MyFiles\requirements_20220830.txt 无警告信息

** 国内镜像 **

  • 清华:https://pypi.tuna.tsinghua.edu.cn/simple
  • 阿里云:http://mirrors.aliyun.com/pypi/simple
  • 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple
  • 华中理工大学:http://pypi.hustunique.com
  • 山东理工大学:http://pypi.sdutlinux.org
  • 豆瓣:http://pypi.douban.com/simple

** 更换下载源 **

  • 长期有效,更换下载源 : pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
  • 前置,临时更换下载源: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple ddddocr==1.0.3
  • 后置,临时更换下载源 : pip install pyside2 -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 批量安装,更换下载源 : pip install -i https://pypi.douban.com/simple -r D:\Mytest\requirements_20220313.txt`

pipupgrade(推荐第三方库)

  • 定义:批量管理第三方库,可以批量更新本地包、系统包

** 安装库包 **

  • 安装库包:pip install pipupgrade

** 使用库包 **

  • 批量更新:pipupgrade -V -l -y
  • 详细输出:pipupgrade -V、pipupgrade --verbos
  • 更新库包:pipupgrade -S、pipupgrade --self
  • 打印过期的库包:pipupgrade -c、pipupgrade --check
  • 升级所有的库包:pipupgrade -l、–latest
  • 列出所有的库包:pipupgrade -a、–all
  • 更新所有的库包:pipupgrade -i、–interactive
  • 批量更新的库包:pipupgrade --requirement requirement.txt
  • 批量确认所有的确认框:pipupgrade -y、–yes

pip-review(推荐第三方库)

** 安装库包 **

  • 安装库包:pip install pip-review

** 使用库包 **

  • 检查是否有需要更新的包

  • pip-review
    scikit-learn0.23.2 is available (you have 0.23.1)
    scipy
    1.5.4 is available (you have 1.4.1)
    seaborn==0.11.0 is available (you have 0.10.1)

  • 自动更新所有的包:pip-review -a

  • 手动更新每一个包:

  • pip-review --interactive
    matplotlib3.3.3 is available (you have 3.1.3)
    Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit N
    numpy
    1.19.4 is available (you have 1.18.1)
    Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit Y
    pandas==1.1.5 is available (you have 1.0.3)
    Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit N

pip 进阶操作

pip list 结合linux命令

  • pip list 命令可以查询已安装的库,结合 Linux 的一些命令(cut、sed、awk、grep……),可以直接在命令行中实现批量升级
python3 -m pip list | awk 'NR>=3{print}' | awk '{print $1}' | xargs python3 -m pip install -U
  • 先 list 查询
  • 接着第一个 awk 取出行号大于等于 3 的内容
  • 第二个 awk 取出第一列的内容
  • 然后作为参数传给最后的升级命令

代码中调用 pip 的方法

from subprocess import call
from pip._internal.utils.misc import get_installed_distributions

for dist in get_installed_distributions():
    call("pip install --upgrade " + dist.project_name, shell=True)

使用 pkg_resources 库

# 需要安装 setuptools
import pkg_resources
from subprocess import call

packages = [dist.project_name for dist in pkg_resources.working_set]
call("pip install --upgrade " + ' '.join(packages), shell=True)

你可能感兴趣的:(python,pip)