学习bash:不能激活环境

时间:2017-08-17 03:53:46

标签: bash

我在Windows 10中设置了Ubuntu,并且在我的主目录中:

/mnt/c/Users/Me$

我想在我的环境目录中结束并激活它。

我在这个目录中创建了一个名为goenv.sh的文件,它包含:

#!/bin/bash
source environments/my_env/bin/activate

我更改了goenv.sh的权限,然后尝试使用:

运行它
./goenv.sh

......但没有任何反应。我错过了什么?

2 个答案:

答案 0 :(得分:0)

现在有效。我将问题中显示的脚本更改为:

#!/bin/bash
cd environments
source ./my_env/bin/activate

答案 1 :(得分:0)

脚本./goenv.sh在子shell中运行。这意味着所有环境更改都是该子shell的本地更改,但对调用shell(启动它的shell)没有影响。

您需要在.bashrc中定义一个功能来实现:

function goenv() {
    cd environments
    source my_env/bin/activate
}

无论如何,这看起来像是一个Python virtualenv。我建议安装带有便捷shell函数的virtualenvwrapper以使用virtualenvs。安装它后,您只需运行:

workon my_env