我需要安装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清除其下载缓存并使用我在命令中包含的特定版本?
当前回答
来自https://pip.pypa.io/en/latest/reference/pip_install.html#caching:的文档
从v6.0开始,pip提供了一个默认缓存 功能类似于web浏览器。而缓存是通过 默认和被设计做正确的事情,默认你可以禁用 使用——no-cache-dir来访问PyPI 选择。
其他回答
我不得不在Windows 7上删除%TEMP%\pip-build
在Ubuntu上,我必须删除/tmp/pip-build-root。
在适合您的系统的位置清除缓存目录
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
(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".
如果你想在默认情况下设置——no-cache-dir选项,你可以把它放在pip.conf中:
[global]
no-cache-dir = false
注1:这很令人困惑,但是要启用no-cache-dir选项,实际上必须将其设置为false。如果你问我,我觉得这很傻…但事实就是这样。有一个github问题来解决这个问题。
注2:pip.conf文件的位置取决于你的操作系统。有关更多信息,请参阅文档。