问题描述
系统环境linux centos
原本miniconda所在路径为 /usr/local/miniconda2
被其他人员拷贝到 /home/python/miniconda2
原路径没有miniconda了,在原路径下用conda安装的python3环境也被迁移到新路径了。
使用命令source activate py3 或者 conda activate py3
提示
[root@centos11 profile.d]# conda activate py3
-bash: /home/python/miniconda2/bin/conda: /usr/local/miniconda2/bin/python: 坏的解释器: 没有那个文件或目录
造成激活不了环境的原因和情况,可能有多种,这里只是说我遇到的这种情况的解决。
问题解决过程
在网上搜索一些博客和stackoverflow都没有解决,最后自己折腾一会解决了。
第一步
vim ~/.bashrc 中查看PATH配置
添加为最新miniconda路径
export PATH="/home/python/miniconda2/bin:$PATH"
查看 vim /etc/profile下的路径是否正确
第二步
vim /home/python/miniconda2/bin/activate
#!/bin/sh
_CONDA_ROOT="/home/python/miniconda2"
\. "$_CONDA_ROOT/etc/profile.d/conda.sh" || return $?
_conda_activate "$@"
更改_CONDA_ROOT路径为最新路径
第三步
vim /home/python/miniconda2/bin/conda
#!/home/python/miniconda2/bin/python
# -*- coding: utf-8 -*-
import re
import sys
from conda.cli import main
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(main())
~
修改第1行的路径为最新路径
第四步
vim /home/python/miniconda2/etc/profile.d/conda.sh
_CONDA_EXE="/home/python/miniconda2/bin/conda"
_CONDA_ROOT="/home/python/miniconda2"
只选取部分内容
更改路径为最新路径地址
推荐两个stackoverflow相关问题的,看看这里,说不定可以解决你的问题,希望对你有帮助
1, https://github.com/conda/conda/issues/6639
2, https://github.com/conda/conda/issues/6810