点缓存文件夹在哪里


98

Python pip缓存文件夹在哪里?我在安装过程中出错,现在使用缓存文件重新安装软件包

该目录在哪里?我想备份它们以便将来安装。可能吗 ?

例如我有一个:

Using cached cssselect-0.9.1.tar.gz

我在google中搜索了此目录,但是我看到的所有内容都是从文件夹中了解如何安装,我想找到默认的缓存目录。

还有一个问题,这些缓存文件将保留在该目录中还是将很快删除?


1
这取决于操作系统。
Martin Konecny

Windows @MartinKonecny
Arash Hatami

3
我相信它在~\AppData\Local\pip\cacheWindows上。
fredrik '16

有很多名称不明确的文件,例如“ 0f4017d43a13156e41129019e85a69fcc2dd34e6904ed88395bb5451” ...我可以准确找到“ cssselect-0.9.1.tar.gz”文件吗?@fredrik
Arash Hatami

2
在这种情况下,高速缓存并不总是人类可读的。
fredrik '16

Answers:


41

这取决于操作系统。

对于pip 20.1或更高版本,您可以通过以下方式找到它:

pip cache dir

例如,对于macOS:

$ pip cache dir
/Users/hugo/Library/Caches/pip

文件:


是的...这是一个古老的问题(大约4年:D)
Arash Hatami


1
另请参阅PIP_CACHE_DIR环境变量以设置此目录。
Alex Povel

128

缓存目录的默认位置取决于操作系统:

的Unix

〜/ .cache / pip,它尊重XDG_CACHE_HOME目录。

苹果系统

〜/库/缓存/点

视窗

<CSIDL_LOCAL_APPDATA> \ pip \ Cache

车轮缓存

pip将从pip缓存目录内的子目录轮读取并使用在那里找到的所有软件包。[片段]

https://pip.pypa.io/zh_CN/latest/reference/pip_install/#caching

可以通过命令行选项更改缓存目录的位置--cache-dir


7
<CSIDL_LOCAL_APPDATA> ==%LOCALAPPDATA%
Winand

%LOCALAPPDATA%\ pip \ Cache
Alex78191 '19

1
$XDG_CACHE_HOME是空的。find ~/.cache/pip | grep -i tensor节目tensorflow_determinismsilence_tensorflow轮子,但不是tensorflow-gpu。然而pip install tensorflow-gpuUsing cached https://.../tensorflow_gpu-2.0.0-cp37-cp37m-manylinux2010_x86_64.whl。我还应该在哪里寻找该文件?
bers

(我还tensorflow_gpu-2.0.0-cp37-cp37m-manylinux2010_x86_64.whl使用进行了下载并检查了重复项fdupes,但找不到任何...)
bers

24

Pythonic和跨平台方式:

import pip
from distutils.version import LooseVersion

if LooseVersion(pip.__version__) < LooseVersion('10'):
    # older pip version
    from pip.utils.appdirs import user_cache_dir
else:
    # newer pip version
    from pip._internal.utils.appdirs import user_cache_dir

print(user_cache_dir('pip'))
print(user_cache_dir('wheel'))

在后台,它可以规范化路径,为奇异的和普通的操作系统和平台管理不同的位置,执行Windows注册表查找。

值得一提的是,如果安装了不同的Python版本2.x和3.x,它们确实共享相同的缓存位置。


5
ModuleNotFoundError: No module named 'pip.utils',在Ubuntu上为10.0.1点。
Gringo Suave

1
如果您想要pip自己的缓存目录,则也可以使用它,from pip._internal.locations import USER_CACHE_DIR或者python -c "from pip._internal.locations import USER_CACHE_DIR; print(USER_CACHE_DIR)"在脚本中获取内容等
。– ryanjdillon

请不要进入_internal并获取值。pip的内部结构并不打算像库一样使用,并且可能随时更改。pip cache dir在pip 20.1及更高版本上是获得此值的最佳方法。
pradyunsg

8

您可以备份关联的滚轮,而不必尝试执行缓存文件夹的备份。

将版本0.9.1的csselect的滚轮下载到/tmp/wheelhouse

pip wheel --wheel-dir=/tmp/wheelhouse cssselect==0.9.1

安装下载的车轮:

pip install /tmp/wheelhouse/cssselect-0.9.1-py2-none-any.whl

cssselect-0.9.1-py2-none-any.whl文件名的稳定性/可预测性如何?
布莱斯

取决于维护人员在打包时在setup.py中执行的操作。
fredrik
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.