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

 pip install psycopg2

而不是:

 pip install psycopg2==2.4.1

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

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

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


当前回答

(…)显示PIP正在重新使用缓存(…)

我很确定事情不是这样的。Pip曾经(错误地)重用构建目录而不是缓存。在2013-07-23发布的pip 1.4版本中修复了这一问题。

其他回答

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

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

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

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

从v6.0开始,pip提供了一个默认缓存 功能类似于web浏览器。而缓存是通过 默认和被设计做正确的事情,默认你可以禁用 使用——no-cache-dir来访问PyPI 选择。

如果使用pip 6.0或更新版本,请尝试添加——no-cache-dir选项(source)。

如果使用pip 6.0以上的版本,请使用pip install -U pip进行升级。

(pyvenv.d) jdoe$ pip --version       # pip version for this answer (or newer).
pip 21.1.1

(pyvenv.d) jdoe$ pip cache --help    # Review all options available to you.

(pyvenv.d) jdoe$ pip cache dir       # Cache-directory for pip(1).
/home/jdoe/.cache/pip

(pyvenv.d) jdoe$ pip cache purge     # Purge cache-directory (by example).
Files removed: 621                   # If cache-directory is already empty, the
                                     # output will be: "ERROR: No matching packages".