Pip - 在 Linux 上更改 pip 缓存的目录?

use*_*896 5 python linux pip

我听说更改 XDG_CACHE_DIR 或 XDG_DATA_HOME 可以修复,但我做到了

export XDG_CACHE_DIR=<new path>
export XDG_DATA_HOME=<new path>
Run Code Online (Sandbox Code Playgroud)

我也试过

pip cache dir --cache-dir <new path>
Run Code Online (Sandbox Code Playgroud)

pip cache --cache-dir <new path>
Run Code Online (Sandbox Code Playgroud)

--cache-dir <new path>
Run Code Online (Sandbox Code Playgroud)

python --cache-dir <new path>
Run Code Online (Sandbox Code Playgroud)

来自https://pip.pypa.io/en/stable/reference/pip/#cmdoption-cache-dir
以及当我输入时

pip cache dir
Run Code Online (Sandbox Code Playgroud)

它仍然在旧位置。如何更改pip缓存的目录?

Sim*_*mon 9

为了简化另一个答案:

# find the config file location under variant "global"
pip config list -v

# create the file and add
[global]
cache-dir=/path/to/dir

# test if it worked
pip config list
pip cache dir
Run Code Online (Sandbox Code Playgroud)


Mar*_*ski 7

XDG_CACHE_HOME像使用一样全局更改export也会影响其他应用程序,而不仅仅是pip单独的,您不希望这可能导致混乱。

您应该改用pip--cache-dir <dir>命令行参数,或者至少,如果您想这样做,请仅覆盖调用XDG_CACHE_HOMEpip

XDG_CACHE_HOME=<path> pip ...
Run Code Online (Sandbox Code Playgroud)

也可以通过使用 shellalias功能使其更持久:

alias pip="XDG_CACHE_HOME=<path> pip"
Run Code Online (Sandbox Code Playgroud)

但是......你根本不需要触摸XDG_CACHE_HOME,因为pip可以有自己的配置文件,你可以根据自己的喜好覆盖所有默认值,包括备用缓存目录位置。此外,所有命令行开关都附带pip了在运行时查找的env 变量,这看起来是最干净的方法。

在您的情况下,--cache-dir可以通过PIP_CACHE_DIR. 所以你可以全局设置它:

export PIP_CACHE_DIR=<path>
Run Code Online (Sandbox Code Playgroud)

或每次调用:

PIP_CACHE_DIR=<path> pip ...
Run Code Online (Sandbox Code Playgroud)

或创建所述配置文件。

有关配置文件和变量的更多信息,请参阅文档pip