Conda激活/停用环境中断PATH
我发现当我创建Conda环境source activate environment
,然后取消激活该环境source deactivate environment
时,我的本机bash命令不再有效。Conda激活/停用环境中断PATH
我在启用环境之前附加了ls的图像,之后没有。我认为这是因为我的PATH - 但我是一个新手,我不确定具体要修复什么。我在Windows上的Git Bash中执行此操作。 Anaconda 3和Python 3.5。
最大的可能是你的畅达环境替换本地的bash配置文件定义的参数和环境变量。我相信,如果你打开一个新的环境(bash会话),你会发现一切工作正常。
我建议你在停用环境之后添加一条命令来重新加载bash配置文件,以便再次应用配置文件变量值。它应该解决问题。
我在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顶部的说明。
明白了 - 只是标记为已回答。我没有意识到我可以将该行添加到我的个人资料中。如果将来人们回到本页面,是否可以添加一个小行/脚本?谢谢! –