pip 的 `–no-cache-dir` 选项的目的

pip--no-cache-dir选项的目的

The purpose of pip’s `–no-cache-dir` option

--no-cache-dir选项用于禁用缓存。

pip install requests --no-cache-dir pip3 install requests --no-cache-dir

点子缓存:

  • HTTP 响应 –pip首先检查它的本地缓存以确定它是否有合适的本地存储的尚未过期的响应。如果满足条件,则重用本地响应

  • 本地构建的轮子 –pip尝试使用本地轮子缓存中的轮子而不是重建项目

Pip 的缓存默认打开,目的是节省重复下载和构建的时间。

pip--no-cache-dir选项的主要用途是:

  • 减少 pip 在您的机器上占用的空间量。
  • 减少 Docker 镜像的大小。
  • 强制 pip 从远程存储库下载包,因为本地缓存的文件不同。
  • 如果您在没有特定用户的情况下运行 pip,例如在没有添加用户的 Docker 容器中,您将pip作为root. 安装的包和缓存的文件为其他用户所有root,其他用户无法访问。

使用
–no-cache-dir
选项禁用 pip 的缓存。

pip install requests --no-cache-dir pip3 install requests --no-cache-dir

你可以使用pip cache dir命令获取你机器上pip缓存的存放目录。

pip cache dir

pip缓存目录

该位置可能是以下位置。

# 👇️ on Linux ~/.cache/pip # 👇️ on macOS ~/Library/Caches/pip # 👇️ on Windows %LocalAppData%\pip\Cache

您可以使用该pip cache info命令来概览 pip 缓存的内容。

pip cache info

点缓存信息

pip cache info命令显示缓存的总大小以及 HTTP 响应和本地构建wheel文件的存储位置。

如果需要从缓存中删除与单个包相关的所有 wheel 文件,请使用pip cache remove <package>命令。

pip cache remove requests

pip缓存删除包

如果你想从 pip 的缓存中清除所有 wheel 文件,你可以使用
pip cache purge
命令。

pip cache purge

如果您需要列出 pip 缓存中的所有 wheel 文件,您可以使用
pip cache listpip cache list <package>命令。

# 👇️ list all wheel files from pip's cache pip cache list # 👇️ list all wheel files related to requests from pip's cache pip cache list requests

如前所述,禁用 pip 缓存 HTTP 响应和 wheels 的默认行为的方法是使用--no-cache-dir命令后的选项。

pip install requests --no-cache-dir pip3 install requests --no-cache-dir

您将主要看到使用 Docker 减小图像大小时使用的选项。

如果您需要强制重新安装特定包,您可以使用以下任一选项。

pip install requests --no-cache-dir pip install requests --ignore-installed pip install requests --force-reinstall

--ignore-installed选项忽略已安装的包并覆盖它们。

–force-reinstall选项重新安装所有包,

即使它们是最新的。