删除pip的缓存?

Geu*_*uis 381 python pip

我需要专门安装psycopg2 v2.4.1.我不小心做了:

 pip install psycopg2
Run Code Online (Sandbox Code Playgroud)

代替:

 pip install psycopg2==2.4.1
Run Code Online (Sandbox Code Playgroud)

这安装2.4.4而不是早期版本.

现在即使在我pip卸载psycopg2并尝试使用正确的版本重新安装之后,看来pip正在重新使用它第一次下载的缓存.

如何强制pip清除其下载缓存并使用我在命令中包含的特定版本?

sho*_*app 439

如果使用pip 6.0或更高版本,请尝试添加该--no-cache-dir选项.

如果使用比pip 6.0更旧的pip,请将其升级pip install -U pip.

  • 在OSX上,我不得不删除`$ TMPDIR`中的pip相关目录 (7认同)
  • 我查了〜/ .pip,但它是一个空目录.你的提示--ignore-installed做了诀窍! (6认同)
  • 在windows中:我看到pip缓存目录在〜\ AppData\Local\pip\cache中 (6认同)
  • 当前最新的答案(由 pip 维护者发布)是 /sf/answers/4323361591/。 (3认同)
  • 如果使用virtualenv,您可能必须删除envs/{yourenvsname}/build/{packageinquestion}目录... (2认同)
  • 你必须在 Windows 上执行 `python -m pip install -U pip`。(否则无法升级,因为锁定了 `pip.exe` 文件。) (2认同)
  • 这个答案只是部分正确。--no-cache-dir 不删除缓存文件夹的内容。 (2认同)

Dr *_*tan 361

清除适合您系统的缓存目录

Linux和Unix

~/.cache/pip  # and it respects the XDG_CACHE_HOME directory.
Run Code Online (Sandbox Code Playgroud)

OS X.

~/Library/Caches/pip
Run Code Online (Sandbox Code Playgroud)

视窗

%LocalAppData%\pip\Cache
Run Code Online (Sandbox Code Playgroud)

  • 当前最新的答案(由 pip 维护者发布)是 /sf/answers/4323361591/。现在最好的方法是“pip cache purge”。 (38认同)
  • 根据您链接到的答案,“pip 缓存清除”仅适用于 pip 20.1。这个答案似乎适用于所有“pip”版本和所有平台,这将使其更普遍有用,但我不知道情况是否如此。 (10认同)

pra*_*nsg 168

(点子维护者在这里!)

问题中提到的“由于缓存安装错误版本”问题的具体问题已在 pip 1.4 中修复(早在 2013 年!):

修复了许多与清理和不重用构建目录相关的问题。(#413、#709、#634、#602、#939、#865、#948)

从 pip 6.0(早在 2014 年开始!),pip install,pip downloadpip wheel命令可以被告知避免使用带有--no-cache-dir选项的缓存。(如:pip install --no-cache-dir <package>

自 pip 10.0(早在 2018 年!)以来,pip config添加了一个命令,可用于将 pip 配置为始终忽略缓存——pip config set global.cache-dir false将 pip 配置为“全局”(即在所有命令中)不使用缓存。

从 pip 20.1 开始,pip 有一个pip cache命令来管理 pip 缓存的内容。

  • pip cache purge 删除缓存中的所有轮文件。
  • pip cache remove matplotlib 有选择地从缓存中删除与 matplotlib 相关的文件。

总之,pip 提供了很多方法来调整它如何使用缓存:

  • pip install --no-cache-dir <package>: 在不使用缓存的情况下安装包,仅用于此运行。
  • pip config set global.cache-dir false:配置 pip 不“全局”使用缓存(在所有命令中)
  • pip cache remove matplotlib: 从 pip 的缓存中删除所有与 matplotlib 相关的轮文件。
  • pip cache purge: 清除 pip 缓存中的所有文件。

  • 我收到错误“错误:未知命令“缓存” - 也许您的意思是“检查”” (5认同)
  • 我有 pip 20.1.1,但是当我尝试 pip cache purge 时,出现下一个错误:“错误:没有匹配的包”,但我已经安装了很多不同的包 (2认同)
  • @Geius 你愿意改变这个已接受的答案吗? (2认同)
  • @mikhail_sam 尝试“pip 缓存列表”,如果它没有显示任何内容,那么您没有缓存任何内容。 (2认同)
  • 对我来说,“pip cache purge”和“pip cache list”建议缓存为空,但“du -hs ~/.cache/pip”显示 242MB。 (2认同)

小智 101

来自https://pip.pypa.io/en/latest/reference/pip_install.html#caching上的文档:

从v6.0开始,pip提供了一个默认的默认缓存,其功能类似于Web浏览器.虽然默认情况下缓存处于启用状态,并且默认情况下设计正确,但您可以禁用缓存并始终使用该--no-cache-dir 选项访问PyPI .

  • 并且要添加,如果要从缓存中删除"坏"对象,请查看页面以查找缓存文件的位置,并"查找"有问题的包.Linux是〜/ .cache/pip,Mac是〜/ Library/Caches/pip等.有趣的是,psycopg2也是我的问题包,但是因为现有的包是为不同的Postgresql库编译的,不再存在我的服务器. (3认同)
  • 这是正确的答案......该链接还显示了pip在Linux,Windows和OS X上存储缓存的位置. (2认同)

liu*_*ihe 67

pip可以像这样安装py忽略缓存

pip --no-cache-dir install scipy
Run Code Online (Sandbox Code Playgroud)

  • @ dafeda的答案在4个月前提供了相同的信息 (4认同)

Jac*_*ing 30

在Ubuntu上,我不得不删除/tmp/pip-build-root.

  • 实际上/ tmp/pip-build-%username_that_running_pip% (2认同)
  • 在Ubuntu 14上,它是``/ tmp/pip_build_root /```(注意下划线) (2认同)

小智 27

Since pip 20.1b1, which was released on 21 April 2020 and "added pip cache command for inspecting/managing pip’s wheel cache", it is possible to issue this command:

pip cache purge
Run Code Online (Sandbox Code Playgroud)

The reference guide is here:
https://pip.pypa.io/en/stable/reference/pip_cache/
The corresponding pull request is here.


dho*_*bbs 9

我只是遇到了类似的问题,并发现获取pip来升级软件包的唯一方法是删除$PWD/build(%CD%\build在Windows上)目录,该目录可能是以前未完成的安装或以前版本的pip遗留下来的(它现在删除了安装成功后构建目录).


Rot*_*eti 7

如果您想--no-cache-dir默认设置选项,可以将其放入pip.conf

[global]
no-cache-dir = false
Run Code Online (Sandbox Code Playgroud)

的位置pip.conf取决于您的操作系统。请参阅文档以获取更多信息。

  • 他们真的已经争论了 3 年关于使用 False 而不是 True 激活选项的理由吗?-真的- ? (3认同)

ene*_*epo 6

在archlinux pip缓存位于〜/ .cache / pip上,我可以通过删除其中的http文件夹来解决问题。


小智 5

在我的Mac上,我必须删除缓存目录 ~/Library/Caches/pip/


小智 5

简单地

rm -d -r "$(pip cache dir)"
Run Code Online (Sandbox Code Playgroud)