跳转至

5.2.pip笔记

pip 是 Python 官方的 package 管理程序(package installer for Python),主要用于安装、卸载或下载 Python package。pypi(Python Package Index)是Python 官方 package 仓库,可以使用 pip 从 pypi 安装 package。pip 只能安装 Python package,不能安装非 Python package,也不能创建 Python 虚拟环境。

pip 镜像源

  1. 阿里云:https://mirrors.aliyun.com/pypi/simple
  2. 网易云:https://mirrors.163.com/pypi/simple
  3. 华为云:https://repo.huaweicloud.com/repository/pypi/simple
  4. 腾讯云:https://mirrors.cloud.tencent.com/pypi/simple
  5. 清华大学:https://pypi.tuna.tsinghua.edu.cn/simple
  6. 北京外国语大学:https://mirrors.bfsu.edu.cn/pypi/web/simple

为 pip 指定镜像源

临时使用

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

设为默认

升级 pip 到最新的版本 (>=10.0.0) 后进行配置:

pip install pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

临时使用清华镜像站来升级 pip:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U

安装 package

# 从指定的requirements文件安装需要的package
pip install -r
pip install --requirement

# 更新package
pip install -U
pip install --upgrade

# 更新package时指定处理依赖的策略
## 所有依赖会被更新
pip install --upgrade-strategy eager
## 如果依赖依然满足要求 则不会更新依赖
pip install --upgrade-strategy only-if-needed

# 强制重装package
pip install --force-reinstall

# 从指定的Python Package Index 安装package
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple

# 从本地目录安装package
pip install -r <file> --no-index --find-links <local path>

# 不安装软件包依赖项
pip install --no-deps

# 将软件包安装到当前系统平台的用户安装目录
pip install --user

设置 Package Index

-i, --index-url <url>      指定 Package Index URL
--extra-index-url <url>    除了使用 --index-url 指定的 URL
                           还使用 --extra-index-url 指定的 URL
--no-index                 忽略package index 
                           仅在 --find-links 指定的URL中查找包
-f, --find-links <url>     可以是一个网址,或者储存了package的本地目录

下载 package

# 从清华镜像下载 requirements 文件指定的 package 到当前目录
pip download -r <file> -d . -i https://pypi.tuna.tsinghua.edu.cn/simple

pip download --only-binary=:all: \
             --platform macosx-10_10_x86_64 \
             --python-version 27 \
             --implementation cp \
             SomePackage

检查依赖是否满足

# 检查numpy的依赖是否满足
pip check numpy

显示已安装的 package 的信息

# 可以显示 版本信息、安装位置、依赖该package的packages 等等
pip show numpy

在 PyPi 搜索 package

pip search numpy

输出安装的 package 列表

# 默认为 columns 格式
pip list
# 以freeze格式输出
pip list --format freeze
# 以json格式输出
pip list --format json

# 以 freeze 格式输出
pip freeze
# 输出到文件
pip freeze > <file>

更新 pip

python -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple

缓存管理

# 查看当前缓存目录
pip cache dir
# 显示缓存的相关信息
pip cache info
# 列出缓存中的 package 名字
pip cache list
# 从缓存中移除指定 package
pip cache remove
# 删除所有 package 的缓存
pip cache purge