官方文档:
Pip’s documentation states

pip description
freeze Output installed packages in requirements format.
list List installed packages.

pip安装包的方式中,有如下一种安装方式:

pip install -r requirements.txt
 
  • 1

而文件requirement.txt里面内容的格式和pip freeze的格式完全一样。因此我们可以将pip freeze的内容输出至requirements.txt。其他机器可以根据导出的requirements.txt进行包安装。

pip freeze | tee requirements.txt # 输出本地包环境至文件
pip install -r requirements.txt # 根据文件进行包安装
 
  • 1
  • 2

所以,pip freeze 为什么比 pip list 的包少几个呢?
因为pip , wheel , setuptools 等包,是自带的而无法(un)install的。考虑到pip freeze的用途,所以这些包并没有显示。

ps:
如果一定要用pip freeze来显示所有包,可以加上参数-all,即pip freeze -all