我需要安装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清除其下载缓存并使用我在命令中包含的特定版本?
当前回答
在我的mac上,我必须删除缓存目录~/Library/Caches/pip/
其他回答
在适合您的系统的位置清除缓存目录
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
如果你想在默认情况下设置——no-cache-dir选项,你可以把它放在pip.conf中:
[global]
no-cache-dir = false
注1:这很令人困惑,但是要启用no-cache-dir选项,实际上必须将其设置为false。如果你问我,我觉得这很傻…但事实就是这样。有一个github问题来解决这个问题。
注2:pip.conf文件的位置取决于你的操作系统。有关更多信息,请参阅文档。
在Windows 7上,我必须删除%HOMEPATH%/pip。
PIP可以安装一个忽略缓存的包,就像这样
pip --no-cache-dir install scipy
更好的方法是删除缓存并重新构建它。通过这种方式,如果您为其他virtualenv再次安装它,它将使用缓存,而不是每次安装时都构建缓存。
例如,当你安装它时,它会说它使用缓存转盘,
Processing <some_prefix>/Library/Caches/pip/wheels/d0/c4/e4/e49fd07bca8dda00dd6b4bbc606aa05a25aacb00d45747a47a/horovod-0.19.3-cp37-cp37m-macosx_10_9_x86_64.wh
只需删除该文件并重新启动安装。