我们的服务器被更新为使用NFS系统,以前的/scratch路径现在映射到/local/scratch。我的anaconda3是在/scratch/xxx/anaconda3下安装的,这基本上意味着它现在是在/local/scratch/xxx/anaconda3下。直观地,我已经在.bash_profile中更新了.bash_profile变量,运行which conda实际上给了我
/local/scratch/xxx/anaconda3/bin/conda但是,当我实际尝试运行$conda时,系统会在下面报告错误:
-bash: /scratch/xxx/anaconda3/bin/conda: No such file or directory这非常奇怪,表示与which conda返回的结果不一致。此外,我还试图直接将cd转换为/local/scratch/xxx/anaconda3/bin/并执行$./conda。它报告
-bash: ./conda: /scratch/xxx/anaconda3/bin/python: bad interpreter: No such file or directory我的猜测是,除了.bash_profile中的环境变量之外,还有存储在其他地方的anaconda的一些内部设置,因为系统实际上知道python的正确路径,而conda试图从旧路径执行python (即上述错误消息中的/scratch/xxx/anaconda3/bin/python )。然而,我似乎无法找到这个文件,并将其更改以使其正常工作。
不知何故,我觉得这应该是一个常见的问题,但是,我没有从互联网上找到任何解决方案。如有任何建议,将不胜感激。
发布于 2022-06-07 02:44:20
我已经用cpr (@merv的学分)解决了我的问题。在这里,我发布了详细的说明,所以如果有人有同样的问题,他/她几乎可以遵循他们,以使事情解决。
1.安装
根据anaconda.org,建议安装cpr的命令是
$ conda install -c anaconda conda-prefix-replacement您可能会发现这实际上非常尴尬;我们需要cpr的原因是由于前缀问题,我们的conda被破坏了,如果我们可以运行conda命令来安装cpr,那么我们为什么需要cpr?
相反,我们可以直接从github安装cpr:
$ git clone https://github.com/conda/conda-prefix-replacement.git
$ cd conda-prefix-replacement
$ python setup.py install2.返乡
安装之后,运行rehome命令修复前缀问题非常简单。假设您的anaconda正在从path_A迁移到path_B,只需做
$ cpr rehome path_B --old-prefix path_A在我的例子中,命令应该是
$ cpr rehome /local/scratch/xxx/anaconda3 --old-prefix /scratch/xxx/anaconda3运行cpr命令后,退出终端并重新登录.一切都应该好起来了!
https://stackoverflow.com/questions/72521239
复制相似问题