Conda激活/停用环境中断PATH

问题描述:

我发现当我创建Conda环境source activate environment,然后取消激活该环境source deactivate environment时,我的本机bash命令不再有效。Conda激活/停用环境中断PATH

我在启用环境之前附加了ls的图像,之后没有。我认为这是因为我的PATH - 但我是一个新手,我不确定具体要修复什么。我在Windows上的Git Bash中执行此操作。 Anaconda 3和Python 3.5。

Please work ls, come on

最大的可能是你的畅达环境替换本地的bash配置文件定义的参数和环境变量。我相信,如果你打开一个新的环境(bash会话),你会发现一切工作正常。

我建议你在停用环境之后添加一条命令来重新加载bash配置文件,以便再次应用配置文件变量值。它应该解决问题。

+0

明白了 - 只是标记为已回答。我没有意识到我可以将该行添加到我的个人资料中。如果将来人们回到本页面,是否可以添加一个小行/脚本?谢谢! –

我在Windows 10中使用Git Bash,也遇到了同样的问题。以前的答案对我来说不起作用,可能是因为我没有在〜/ .bash_profile和〜/ .bashrc中设置任何路径。

我检查了一个全新的git bash的我的PATH变量,它看起来像:

. C:/Users/chen_x/Miniconda3/Scripts/activate C:/Users/chen_x/Miniconda3. activate snowflakes

/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/envs/snowflakes:(blalbla..):C:\Users\chen_x\Miniconda3\Library\bin;C:\Users\chen_x\Miniconda3;....(more)

我认为混帐的bash不承认如C:\program files...,然后在最后一个EXPORT PATH=命令(约78行)后面添加以下行C:/Users/chen_x/Miniconda3/Scripts/activate

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脚本启动畅达环境:

#!/bin/bash 
. C:/Users/chen_x/Miniconda3/Scripts/activate C:/Users/chen_x/Miniconda3 

这将是convinent到:

. ~/condaenv 
. activate snowflakes 

中有激活一些错误/关闭脚本,我已经修复了我调用activate.cygwin和deactivate.cygwin的版本。

  • activate.cygwin:修复conda命令返回一个字符串并在处理结束时返回“\ r”的地方。

  • deactivate.cygwin:修复/ cygdrive/...的转换,以避免错误 CondaValueError:找不到环境:/ cygdrivec:\ Users \用户RJP \ Anaconda2 \ ENVS ...

我已将修改的脚本发布到https://bitbucket.org/snippets/plevin/。请参阅activate.cygwin顶部的说明。