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

 pip install psycopg2

而不是:

 pip install psycopg2==2.4.1

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

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

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


当前回答

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

[global]
no-cache-dir = false

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

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

其他回答

由于pip 20.1b1于2020年4月21日发布,“增加了用于检查/管理pip车轮缓存的pip缓存命令”,因此可以发出以下命令:

pip cache purge

参考指南如下: https://pip.pypa.io/en/stable/reference/pip_cache/ 对应的拉请求在这里。

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

如果使用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".


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