Conda activate/deactivate 环境中断 PATH
Conda activate/deactivate environment breaking PATH
我发现当我创建 Conda 环境 source activate environment
然后停用该环境 source deactivate environment
时,我的本机 bash 命令不再有效。
我附上了 ls 在启用环境之前正常工作的图像,之后就没有了。我认为这是因为我的 PATH - 但我是新手,不确定具体要修复什么。我在 Git Bash Windows 中这样做。蟒蛇 3 和 Python 3.5.
Please work ls, come on
很可能您的 conda 环境正在替换本地 bash 配置文件中定义的参数和环境变量。我敢肯定,如果您打开一个新环境(bash 会话),您会发现一切正常。
我建议您添加一条命令以在停用环境后重新加载 bash 配置文件,以便再次应用配置文件变量值。应该可以解决问题。
我在Windows10中使用GitBash也遇到了同样的问题。之前的答案对我不起作用,可能是因为我没有在 ~/.bash_profile 和 ~/.bashrc 中设置任何路径。
我检查了我的路径变量 git bash,它看起来像:
/c/Users/chen_x/bin:/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/mingw64/bin:/usr/bin:/c/Users/chen_x/bin....(more)
经过. C:/Users/chen_x/Miniconda3/Scripts/activate C:/Users/chen_x/Miniconda3
和. activate snowflakes
后,路径变为:
/C/Users/chen_x/Miniconda3/envs/snowflakes:(blalbla..):C:\Users\chen_x\Miniconda3\Library\bin;C:\Users\chen_x\Miniconda3;....(more)
我假设 git bash 无法识别像 C:\program files...
这样的路径,然后在最后一个 EXPORT PATH=
命令之后立即将以下行添加到 C:/Users/chen_x/Miniconda3/Scripts/activate
(关于第 78 行):
export PATH="$($_CONDA_PYTHON -c "import re; p=re.sub(r'\\', r'/', r'$PATH'); p=re.sub('(;|:)([A-Z]):', lambda m: ':/'+m.group(2).lower(), p); print(p)")"
有效。
顺便说一句,我创建了一个 ~/condaenv 脚本来启动 conda 环境:
#!/bin/bash
. C:/Users/chen_x/Miniconda3/Scripts/activate C:/Users/chen_x/Miniconda3
这会很方便:
. ~/condaenv
. activate snowflakes
activate/deactivate 脚本中存在一些错误,我已在称为 activate.cygwin 和 deactivate.cygwin.
的版本中修复了这些错误
activate.cygwin:修复了 conda 命令 returns 字符串末尾带有 return "\r" 的 2 个地方,这会混淆处理。
deactivate.cygwin: 修复 /cygdrive/... 的转换以避免错误
CondaValueError:找不到环境:/cygdrivec:\Users\rjp\Anaconda2\envs...
我已将修改后的脚本发布到 https://bitbucket.org/snippets/plevin/。请参阅 activate.cygwin.
顶部的说明
停用 conda 环境的正确方法是 运行 conda deactivate
,而不是 source deactivate environment
我发现当我创建 Conda 环境 source activate environment
然后停用该环境 source deactivate environment
时,我的本机 bash 命令不再有效。
我附上了 ls 在启用环境之前正常工作的图像,之后就没有了。我认为这是因为我的 PATH - 但我是新手,不确定具体要修复什么。我在 Git Bash Windows 中这样做。蟒蛇 3 和 Python 3.5.
Please work ls, come on
很可能您的 conda 环境正在替换本地 bash 配置文件中定义的参数和环境变量。我敢肯定,如果您打开一个新环境(bash 会话),您会发现一切正常。
我建议您添加一条命令以在停用环境后重新加载 bash 配置文件,以便再次应用配置文件变量值。应该可以解决问题。
我在Windows10中使用GitBash也遇到了同样的问题。之前的答案对我不起作用,可能是因为我没有在 ~/.bash_profile 和 ~/.bashrc 中设置任何路径。
我检查了我的路径变量 git bash,它看起来像:
/c/Users/chen_x/bin:/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/mingw64/bin:/usr/bin:/c/Users/chen_x/bin....(more)
经过. C:/Users/chen_x/Miniconda3/Scripts/activate C:/Users/chen_x/Miniconda3
和. activate snowflakes
后,路径变为:
/C/Users/chen_x/Miniconda3/envs/snowflakes:(blalbla..):C:\Users\chen_x\Miniconda3\Library\bin;C:\Users\chen_x\Miniconda3;....(more)
我假设 git bash 无法识别像 C:\program files...
这样的路径,然后在最后一个 EXPORT PATH=
命令之后立即将以下行添加到 C:/Users/chen_x/Miniconda3/Scripts/activate
(关于第 78 行):
export PATH="$($_CONDA_PYTHON -c "import re; p=re.sub(r'\\', r'/', r'$PATH'); p=re.sub('(;|:)([A-Z]):', lambda m: ':/'+m.group(2).lower(), p); print(p)")"
有效。
顺便说一句,我创建了一个 ~/condaenv 脚本来启动 conda 环境:
#!/bin/bash
. C:/Users/chen_x/Miniconda3/Scripts/activate C:/Users/chen_x/Miniconda3
这会很方便:
. ~/condaenv
. activate snowflakes
activate/deactivate 脚本中存在一些错误,我已在称为 activate.cygwin 和 deactivate.cygwin.
的版本中修复了这些错误activate.cygwin:修复了 conda 命令 returns 字符串末尾带有 return "\r" 的 2 个地方,这会混淆处理。
deactivate.cygwin: 修复 /cygdrive/... 的转换以避免错误 CondaValueError:找不到环境:/cygdrivec:\Users\rjp\Anaconda2\envs...
我已将修改后的脚本发布到 https://bitbucket.org/snippets/plevin/。请参阅 activate.cygwin.
顶部的说明停用 conda 环境的正确方法是 运行 conda deactivate
,而不是 source deactivate environment