【问题标题】:Pip - Change directory of pip cache on Linux?Pip - 在 Linux 上更改 pip 缓存的目录?
【发布时间】:2021-01-18 15:50:14
【问题描述】:

我听说更改 XDG_CACHE_DIR 或 XDG_DATA_HOME 可以解决这个问题,但我做到了

export XDG_CACHE_DIR=<new path>
export XDG_DATA_HOME=<new path>

我也试过

pip cache dir --cache-dir <new path>

pip cache --cache-dir <new path>

--cache-dir <new path>

python --cache-dir <new path>

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

pip cache dir

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

【问题讨论】:

  • 你试过了吗--cache-dir link
  • @PaulBaiju 是的,我在上面提到过。
  • 不是pip cache --cache-dir &lt;new path&gt; 只是--cache-dir &lt;new path&gt;
  • @PaulBaiju 是的说“--cache-dir: command not found”
  • @PaulBaiju 的建议是pip &lt;command&gt; --cache-dir &lt;path&gt;。但这只会影响当前命令,不会永久影响 AFAIK。例如pip install something --cache-dir ~/.mycache.

标签: python linux pip


【解决方案1】:

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

您应该改用pip--cache-dir &lt;dir&gt; 命令行参数,或者至少,如果您想这样做,请仅覆盖pip 调用的XDG_CACHE_HOME 值:

XDG_CACHE_HOME=<path> pip ...

也可以通过使用 shell alias 功能使其更永久:

alias pip="XDG_CACHE_HOME=<path> pip"

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

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

export PIP_CACHE_DIR=<path>

或每次调用:

PIP_CACHE_DIR=<path> pip ...

或创建上述配置文件。

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

【讨论】:

    【解决方案2】:

    Linux 用户的解决方案是

    export XDG_CACHE_HOME=<new path>
    

    【讨论】:

    • 这会影响所有应用,而不仅仅是 pip
    • @MarcinOrlowski 如果你有更好的解决方案,我愿意接受
    猜你喜欢
    • 1970-01-01
    • 2020-01-20
    • 2019-05-17
    • 2012-09-24
    • 2012-03-19
    • 2017-09-27
    • 1970-01-01
    • 2021-11-20
    相关资源
    最近更新 更多