Getting started with pip

pip 是什么

pip 是一个通用的 Python 包管理工具,提供了对第三方 Python 包的查找、下载、安装、卸载的功能。

注意:不是所有的第三方 Python 包都能通过 pip 来安装,只能是发布在 pypi.org 上面的才能通过 pip 安装。

pip3 和 pip 的区别

如果机器同时装有 python2 和 python3,那么 pip 默认给 python2 用,pip3 指定给 python3 用,两者的安装路径是不同的。

如果机器只有 python3,pip 和 pip3 的作用是一样的。

常用命令

pip 命令帮助

1
pip help

检查 pip 是否安装和 pip 的版本号

1
pip --version

pip 安装第三方包

1
pip install SomePackage

安装该软件的最新版本,同时 pip 会计算该软件的依赖包,如果没有冲突,就会把该软件包的依赖包一起安装。

  • 如果要安装指定版本的软件包呢,就需要在软件包名后面加一个具体的版本号,比如
1
pip install SomePackage==2.21.0

pip 升级软件包

1
pip install --upgrade SomePackage

pip 搜索软件包

1
pip search SomePackage

pip 卸载软件包

1
pip uninstall SomePackage

注意:卸载软件包之前最好先用 pip show 命令看一下该软件包的被依赖关系,如果其它包依赖你要卸载的软件包,那么你卸载后,其它软件包就没法运行了。

pip 查看包信息

1
pip show SomePackage

查看该软件包的作者,软件安装路径,依赖的库和被依赖的库等。

显示本地软件包

1
pip list

list 命令显示本地所有安装的第三方库和相应的版本号。

导出本地所有软件包名和版本号

1
pip freeze > requirements.txt

上面命令会把软件包名和版本号导到 requirements.txt 文件里,方便在另一台电脑上部署一个相同的 Python 软件包环境,或者提交到生产环境去运行,或者一键卸载 / 升级全部的第三方软件包。

  • pip list 和 pip freeze 的区别

pip list 和 pip freeze 的区别是 pip list 列出了所有的包,pip freeze 只列出由 pip 安装的软件包。

升级包到当前最新的版本

1
pip install -U SomePackage

升级 pip

1
python -m pip install --upgrade pip

其他

  • Python 的包管理工具也不只有 pip,还有 Conda、Pipenv、Poetry 等。Conda、Pipenv 的好处是不只能管理包工具,还能管理虚拟路径,让你一台电脑能安装和运行多个版本的 Python,不会发生冲突。