如何在不重新启动终端的情况下清除缓存?

如何在不重新启动终端的情况下清除缓存?

我目前在 UT Austin 从事 POD 超级计算机的研究工作。超级计算机的技术支持无法帮助我。我想在 Anaconda 环境中使用特定版本的 Python (3.9),但缓存了不正确的 Python 版本 (3.11):

在此输入图像描述

我最初通过执行 hash -r 然后重新启动我的终端解决了这个问题(除非重新启动它,否则更改不会发生)。但是,当我输入“screen”时,此解决方案不起作用。 Python 的缓存位置又回来了。我无法执行 hash -r 然后重新启动“screen”,因为它将创建一个新进程并且缓存会返回。

您是否有解决方案可以在我进行“筛选”时清除哈希表?

谢谢!

答案1

hash -r只影响当前 shell,因此重新启动会使重新哈希变得毫无意义。更改路径应该会导致您的路径自动重新哈希。因此,hash -r只有当您在路径中安装了新内容而不修改路径或重新启动 shell 时才需要这样做。缓存不会“回来”,这里的问题不是缓存。 (这是一个 XY 问题。技术支持可能无法帮助您,因为您要求他们解决一个不存在的问题。)

哈希表并不是导致在您的路径中找到某些内容的原因。的设置$PATH就是这样做的。如果发现错误的可执行文件,那是因为它在您的路径中早于正确的可执行文件,而且可能正确的可执行文件根本不在您的路径中。

如果您使用模块或虚拟环境,则需要卸载模块或停用包含错误 python 的虚拟环境。然后您需要激活正确的目录,或者将其所在的目录添加到您的路径中。

如果当您重新启动 shell 时错误的文件仍然存在,那么您的 shell 初始化文件中一定有某些内容(也许.bashrc假设您使用的是 bash)将其放在那里,或者正确的文件从未被激活。

相关内容