如何从“sh”shell(在Nodejs上)激活Conda环境?

时间:2017-04-27 12:03:19

标签: node.js bash shell ubuntu conda

我可以使用bash shell中的任何问题激活Conda环境。我可以在bash上使用这两个选项:

source activate env_name
. activate env_name

但我使用Node的方法exec来运行环境的激活。节点使用sh shell来运行命令。我尝试了上面的命令,但它们没有用。我收到了这个错误

/bin/sh: 1: /env_name/bin/source: not found

所以我不得不使用这个命令来运行环境

const child_process = require('child_process')
child_process.exec('bash -c "source activate env_name"')

有没有更好的方法可以让它在Ubuntu上运行?

我在Windows上运行它,这足以让它工作

child_process.exec('activate env_name')

1 个答案:

答案 0 :(得分:2)

Conda现在(在conda 4.3.x中)使用不像bash和zsh那样“高级”的shell表现不佳。例如,纯posix短划线和busybox shell现在不起作用。

虽然好新......他们很快就会。支持更多种类的贝壳是conda 4.4的一个特点。这项工作的基础PR为https://github.com/conda/conda/pull/5044,并且有几个后续工作。

Conda 4.4.0应在接下来的几周内发布到canary