我需要安装psycopg2 v2.4.1。我不小心做到了:

 pip install psycopg2

而不是:

 pip install psycopg2==2.4.1

这将安装2.4.4而不是早期版本。

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

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


当前回答

如果使用virtualenv,请在环境根目录下查找构建目录。

其他回答

在Ubuntu上,我必须删除/tmp/pip-build-root。

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

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

如果你想在默认情况下设置——no-cache-dir选项,你可以把它放在pip.conf中:

[global]
no-cache-dir = false

注1:这很令人困惑,但是要启用no-cache-dir选项,实际上必须将其设置为false。如果你问我,我觉得这很傻…但事实就是这样。有一个github问题来解决这个问题。

注2:pip.conf文件的位置取决于你的操作系统。有关更多信息,请参阅文档。

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

Linux和Unix

~/.cache/pip  # and it respects the XDG_CACHE_HOME directory.

OS X

~/Library/Caches/pip

窗户

%LocalAppData%\pip\Cache

更新

对于pip 20.1或更高版本,您可以通过在命令行中键入以下命令轻松找到操作系统的完整路径:

pip cache dir

Ubuntu安装的输出示例:

➜ pip3 cache dir
/home/tawanda/.cache/pip