我需要安装psycopg2 v2.4.1。我不小心做到了:
pip install psycopg2
而不是:
pip install psycopg2==2.4.1
这将安装2.4.4而不是早期版本。
现在,即使在我卸载psycopg2并尝试使用正确的版本重新安装之后,pip似乎正在重新使用它第一次下载的缓存。
如何强制pip清除其下载缓存并使用我在命令中包含的特定版本?
我需要安装psycopg2 v2.4.1。我不小心做到了:
pip install psycopg2
而不是:
pip install psycopg2==2.4.1
这将安装2.4.4而不是早期版本。
现在,即使在我卸载psycopg2并尝试使用正确的版本重新安装之后,pip似乎正在重新使用它第一次下载的缓存。
如何强制pip清除其下载缓存并使用我在命令中包含的特定版本?
当前回答
在Ubuntu上,我必须删除/tmp/pip-build-root。
其他回答
在Mac OS (Mavericks)上,我必须删除/tmp/pip-build/
如果使用pip 6.0或更新版本,请尝试添加——no-cache-dir选项(source)。
如果使用pip 6.0以上的版本,请使用pip install -U pip进行升级。
简单的
rm -d -r "$(pip cache dir)"
如果你想在默认情况下设置——no-cache-dir选项,你可以把它放在pip.conf中:
[global]
no-cache-dir = false
注1:这很令人困惑,但是要启用no-cache-dir选项,实际上必须将其设置为false。如果你问我,我觉得这很傻…但事实就是这样。有一个github问题来解决这个问题。
注2:pip.conf文件的位置取决于你的操作系统。有关更多信息,请参阅文档。
更好的方法是删除缓存并重新构建它。通过这种方式,如果您为其他virtualenv再次安装它,它将使用缓存,而不是每次安装时都构建缓存。
例如,当你安装它时,它会说它使用缓存转盘,
Processing <some_prefix>/Library/Caches/pip/wheels/d0/c4/e4/e49fd07bca8dda00dd6b4bbc606aa05a25aacb00d45747a47a/horovod-0.19.3-cp37-cp37m-macosx_10_9_x86_64.wh
只需删除该文件并重新启动安装。