首页 > 编程笔记

pip(Python包管理工具)使用教程

Python 之所以受欢迎不仅是因为它简单易学,更重要的是它有非常多的宝藏工具,我们只要安装就能在 Python 里使用这些工具。

它们可以处理各式各样的问题,无须我们再造轮子,而且随着社区的不断更新维护,有些工具越来越强大,几乎能媲美企业级应用。

那么这些第三方工具如何下载安装呢?它们被放在一个统一的仓库——PyPI(Python Package Index)中。有了仓库,我们还需要有类似管理员的角色,pip 就是这样一个角色。

pip 把工具包从 PyPI 中取出来,然后安装到我们使用的 Python 中,pip 还可以管理安装完成的工具,实现更新、查看、搜索、卸载等操作。

pip 命令

pip(package installer for python)是 Python 包管理工具。pip 可以对 Python 的第三方工具进行安装、更新、卸载等操作,十分方便。

其实 pip 是一个命令行程序,所以 pip 一般都在命令行中执行各种操作。pip 命令组合比较灵活,下面重点介绍几个常用的。

1) install

install 是安装命令,它的用法为:

pip install <包名>

或者:

pip install -r requirements.txt

requirements.txt 里面包含待安装的包信息。

唯一需要特殊说明的是,安装时可以指定版本号来安装,例如:

pip install SomePackage              # 最新版本
pip install SomePackage==1.0.4       # 指定版本
pip install 'SomePackage>=1.0.4'     # 最小版本

2) uninstall

uninstall 是卸载安装包的命令,它的用法为:

pip uninstall <包名>

或者:

pip uninstall -r requirements.txt

3) 升级包

升级包的命令为:

pip install -U <包名>

或者:

pip install <包名> --upgrade

4) freeze

命令 pip freeze 用于查看已经安装的包及其版本信息,并支持导出到指定文件中,例如:

pip freeze > requirements.txt

5) list

命令 pip list 用于列出当前已经安装的包。使用命令pip list -o可以查询可升级的包。

6) show

show 命令用于显示包所在目录及信息,它的用法为:

pip show <包名>

更多 pip 的命令行指令大家可以通过命令 pip man 进行查看。

离线安装

通常第三方工具的在线安装的方式比较简单,直接采用上面介绍的 pip 命令即可。而很多时候,我们在开发过程中用自己的计算机安装了很多第三方工具,开发完成则需要部署到客户的环境中。若此时客户的环境不能联网,那么我们就需要采用离线的方式进行第三方工具的安装。

第三方工具的离线安装的大致思路如下:
具体操作步骤如下:

1) 本地导出项目的第三方工具名称

进入本地项目,使用pip freeze > requirements.txt导出相关第三方工具名称。

2) 下载第三方工具到本地

将工具的安装包下载到本地指定文件,下载安装包的命令如下:

pip download -d your_offline_packages <package_name> # 下载单个离线包
pip download -d your_offline_packages -r requirements.txt # 批量下载离线包

pip download 是一个工具,可用于下载 Python 项目及其依赖项。

执行 pip download 命令在 Linux 上下载一个项目,软件包将以 .whl 结尾,该软件包可以直接安装在 Windows 上,也可以安装在 macOS 上。

wheel文件是工具的源文件,可以通过命令pip install×××××.whl直接安装。

3) 离线安装

上传本地下载完成的所有第三方工具的源文件和依赖包的文件到远端服务器,然后使用如下命令进行离线安装:

pip install --no-index --find-links=/your_offline_packages/ package_name #安装单个离线包
pip install --no-index --find-links=/your_offline_packages/ -r requirements.txt # 批量安装离线包

更换 pip 源

很多人抱怨 pip 安装第三方工具有时太慢了,那是 pip 源的问题。pip 默认从 PyPI 中下载工具安装包,但 PyPI 服务器在国外,我们访问 PyPI 服务器速度会很慢。

目前,国内提供了很多镜像源,用来替代 PyPI 默认的地址,像清华源、豆瓣源、阿里云源等,这些镜像源备份了 PyPI 里的数据。这些镜像源的服务器在国内,所以我们的访问速度会快很多。

通常有如下两种方式更换 pip 安装源。

1) 临时替换

参数-i用于指定下载源,如:

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

2) 永远生效

在 Linux 下,修改 ~/.pip/pip.conf 文件,若没有该文件就创建一个文件夹和文件,文件夹名称要加.,表示该文件夹是隐藏文件夹。修改内容如下,我们可以把 index-url 替换为自己想要修改的国内 pip 源地址。

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com

推荐阅读