pip 的高阶玩法

以下文章来源于机器学习算法与Python实战 ,作者student老胡

pip 应该是大家最熟悉的 Python 包安装与管理工具了,但是除了 pip install 这个最常用的命令,还有很多有用的玩法。这里就介绍几个我平时会用到的,希望对大家有所帮助。

pip freeze


这个命令可以查看已经安装的包及版本信息,当你要换电脑,或者朋友想复刻你已安装的包,又不想一个一个重新安装。这时就可以使用 pip freeze > requirements.txt ,批量导出当前开发环境的包信息,然后安装 requirements.txt 依赖就行了。

pip freeze > requirements.txt 
pip install -r requirements.txt

pip cache


用 pip 安装 python 模块的时候,重复安装某一模块会经常出现 “Using cache”,这样很容易装错版本。而且 cache 还会占用不少 C 盘空间,如果空间不足,可以直接删除这些缓存。 方法:

Win + R ,输入 %LocalAppData%\pip\Cache

删掉 cache/ 目录下的所有文件夹就好了

pip list


pip list 命令列出所有安装包和版本信息,pip list --outdate 可以列出所有可升级的包。

但是当前内建命令并不支持升级所有已安装的 Python 模块,不过可以写一个:

import 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)

替代方案是使用 pip-review,这是一个分叉 pip-tools,升级包就太方便了。安装和使用方法:

pip install pip-review
#查看可更新
pip-review
#自动批量升级
pip-review --auto
#以交互方式运行,对每个包进行升级
pip-review --interactive

pip.init


pip 用国外的源下载安装包会比较慢,还经常出错安装失败,可以将安装源切换成国内镜像,速度 ×10!改一些 pip.init 配置,一劳永逸,具体做法:Win + R ,输入   %APPDATA% 在当前目录下新建 pip 文件夹,然后新建 pip.ini 文件,内容如下

[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
trusted-host=mirrors.aliyun.com

我直接设置成了阿里的, 豆瓣的源速度也很快。

豆瓣(douban) http://pypi.douban.com/simple/ 
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/ 
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 

临时使用

可以在使用pip的时候加参数-i https://pypi.tuna.tsinghua.edu.cn/simple

例如:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspider,这样就会从清华这边的镜像去安装pyspider库。

阅读量: | 柯西君_BingWong | 2023-02-16