首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >linux系统迁移后的错误Conda路径

linux系统迁移后的错误Conda路径
EN

Stack Overflow用户
提问于 2022-06-06 17:17:33
回答 1查看 55关注 0票数 2

我们的服务器被更新为使用NFS系统,以前的/scratch路径现在映射到/local/scratch。我的anaconda3是在/scratch/xxx/anaconda3下安装的,这基本上意味着它现在是在/local/scratch/xxx/anaconda3下。直观地,我已经在.bash_profile中更新了.bash_profile变量,运行which conda实际上给了我

代码语言:javascript
复制
/local/scratch/xxx/anaconda3/bin/conda

但是,当我实际尝试运行$conda时,系统会在下面报告错误:

代码语言:javascript
复制
-bash: /scratch/xxx/anaconda3/bin/conda: No such file or directory

这非常奇怪,表示与which conda返回的结果不一致。此外,我还试图直接将cd转换为/local/scratch/xxx/anaconda3/bin/并执行$./conda。它报告

代码语言:javascript
复制
-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 )。然而,我似乎无法找到这个文件,并将其更改以使其正常工作。

不知何故,我觉得这应该是一个常见的问题,但是,我没有从互联网上找到任何解决方案。如有任何建议,将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-07 02:44:20

我已经用cpr (@merv的学分)解决了我的问题。在这里,我发布了详细的说明,所以如果有人有同样的问题,他/她几乎可以遵循他们,以使事情解决。

1.安装

根据anaconda.org,建议安装cpr的命令是

代码语言:javascript
复制
$ conda install -c anaconda conda-prefix-replacement

您可能会发现这实际上非常尴尬;我们需要cpr的原因是由于前缀问题,我们的conda被破坏了,如果我们可以运行conda命令来安装cpr,那么我们为什么需要cpr

相反,我们可以直接从github安装cpr

代码语言:javascript
复制
$ git clone https://github.com/conda/conda-prefix-replacement.git
$ cd conda-prefix-replacement
$ python setup.py install

2.返乡

安装之后,运行rehome命令修复前缀问题非常简单。假设您的anaconda正在从path_A迁移到path_B,只需做

代码语言:javascript
复制
$ cpr rehome path_B --old-prefix path_A

在我的例子中,命令应该是

代码语言:javascript
复制
$ cpr rehome /local/scratch/xxx/anaconda3 --old-prefix /scratch/xxx/anaconda3

运行cpr命令后,退出终端并重新登录.一切都应该好起来了!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72521239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档