Python Conda激活/停用环境中断路径

Python Conda激活/停用环境中断路径,python,bash,path,anaconda,conda,Python,Bash,Path,Anaconda,Conda,我发现,当我创建一个Conda环境源代码激活环境,然后停用该环境源代码停用环境,我的本机bash命令不再工作 我附加了一个ls在启用环境之前工作的图像,然后不是在启用环境之后。我认为这是因为我的道路-但我是一个新手,不知道具体要修复什么。我在Windows上的Git Bash中执行此操作。Anaconda3和Python 3.5 您的conda环境很可能正在替换本地bash配置文件中定义的参数和环境变量。我相信,如果您打开一个新环境(bash会话),您会发现一切正常 我建议您添加一个命令,在停用

我发现,当我创建一个Conda环境
源代码激活环境
,然后停用该环境
源代码停用环境
,我的本机bash命令不再工作

我附加了一个ls在启用环境之前工作的图像,然后不是在启用环境之后。我认为这是因为我的道路-但我是一个新手,不知道具体要修复什么。我在Windows上的Git Bash中执行此操作。Anaconda3和Python 3.5


您的conda环境很可能正在替换本地bash配置文件中定义的参数和环境变量。我相信,如果您打开一个新环境(bash会话),您会发现一切正常


我建议您添加一个命令,在停用环境后重新加载bash概要文件,以便再次应用概要文件变量值。它应该可以解决这个问题。

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

我在一个新的git bash中检查了我的path变量,它看起来像:

/c/Users/chen_x/bin:/mingw64/bin:/usr/local/bin:/usr/bin:/mingw64/bin:/usr/bin:/c/Users/chen_x/bin……(更多)

之后。C:/Users/chen_x/Miniconda3/Scripts/activate C:/Users/chen_x/Miniconda3
。激活雪花
,路径变为:

/C/Users/chen_x/Miniconda3/envs/snowflakes:(blalbla..):C:\Users\chen_x\Miniconda3\Library\bin;C:\Users\chen\u x\Miniconda3;。。。。(更多)

我假设git bash无法识别像
C:\program files…
这样的路径,然后在最后一个
导出路径=
命令(关于第78行)之后添加了以下行到
C:/Users/chen\u x/Miniconda3/Scripts/activate

它起作用了

顺便说一下,我创建了一个~/condaenv脚本来启动conda环境:

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

. ~/condaenv
. activate snowflakes

activate/deactivate脚本中有一些bug,我在我称为activate.cygwin和deactivate.cygwin的版本中修复了这些bug

  • activate.cygwin:修复了conda命令返回一个字符串的两个位置,该字符串的末尾带有一个返回“\r”,这会混淆处理过程

  • deactivate.cygwin:修复/cygdrive/…的转换。。。避免错误 CondaValueError:找不到环境:/cygdrivec:\Users\rjp\Anaconda2\envs


我已将修改后的脚本发布到。请参阅activate.cygwin顶部的说明。

停用conda环境的正确方法是运行
conda deactivate
,而不是
source deactivate environment


来源:

明白了-只是标记为已回答。我没有意识到我可以把这一行添加到我的个人资料中。如果人们将来回到这个页面,是否可以添加一个小的行/脚本?非常感谢。哦,这似乎和我的问题很相关。我迷路了“\r”正在破坏停用脚本。但是我有一个最新版本的conda,它似乎把所有的事情都委托给conda.exe,所以我不确定我可以在哪里应用这个补丁…是的。。我们只需要运行conda
. ~/condaenv
. activate snowflakes