pip简易使用指南

Python 从1991年诞生到现在,已经过去28个年头了,这其间产生了数以万计的第三方包,且每个包都会不断更新,会有越来越多的版本。由此诞生了许多包管理工具,比如 distutilssetuptools.
而pip则是官方推荐的包管理工具,将用法整理记录下来

查询

查询当前环境安装的所有软件包

1
pip list

查询 pypi 上含有某名字的包

1
pip search packageName

查询当前环境中可升级的包

1
pip list --outdated

查询一个包的详细内容

1
pip show packageName

下载

查询当前环境安装的所有软件包

1
pip list

查询 pypi 上含有某名字的包

1
pip search packageName

查询当前环境中可升级的包

1
pip list --outdated

查询一个包的详细内容

1
pip show packageName

安装

使用 pip install packageName 可以很方便地从 pypi 上搜索下载并安装 python 包.
这是安装包的基本格式,我们也可以为其添加更多参数来实现不同的效果

本地安装

1
2
# 前提你得保证你已经下载 pkg 包到 /home 目录下
pip install --no-index --find-links=/home packageName

安装指定版本

1
2
3
4
5
6
7
8
# 所安装的包的版本为 1.0.0
$ pip install packageName==1.0.0

# 所安装的包必须大于等于 1.0.0
$ pip install packageName>=1.0.0

# 所安装的包必须小于等于 1.0.0
$ pip install packageName<=1.0.0

使用源码安装

由于默认情况下,wheel 包的平台是运行 pip download 命令 的平台,所以可能出现平台不适配的情况。所以可以下载源码包进行安装,不过比起 wheel 包,这种包在安装时会进行编译,所以花费的时间会长一些。

1
2
3
4
5
# 下载非二进制的包
pip download --no-binary=:all: packageName

# 安装非二进制的包
pip install packageName --no-binary

使用代理安装

1
pip install --proxy [user:passwd@]http_server_ip:port packageName

安装私有包

如果一台机器上的使用者不只一样,自私地将在全局环境中安装或者升级某个包,是不负责任且危险的做法。所以需要将包安装在自己私有的环境内

1
pip install --user packageName

当你身处个人用户环境中,python 导包时会先检索当前用户环境中是否已安装这个包,已安装则优先使用,未安装则使用全局环境中的包。

卸载

1
pip uninstall packageName

升级

1
pip install --upgrade packageName

在升级的时候,其实还有一个不怎么用到的选项 --upgrade-strategy,它是用来指定升级策略。

它的可选项只有两个:

  • eager :升级全部依赖包
  • only-if-need:只有当旧版本不能适配新的父依赖包时,才会升级

pip 10.0 版本之后,这个选项的默认值是 only-if-need,因此如下两种写法是一互致的。

1
2
pip install --upgrade packageName
pip install --upgrade packageName --upgrade-strategy only-if-need