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

How to activate a Conda Environment from the "sh" shell (on Nodejs)?

如果 bash shell 出现任何问题,我可以激活 Conda 环境。我可以在 bash:

上使用这两个选项
source activate env_name
. activate env_name

不过我是用Node的方法exec来运行激活环境的。 Node 使用 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')

Conda 现在(在 conda 4.3.x 中)不适合 "advanced" 的 shell,例如 bash 和 zsh。例如,纯 posix dash 和 busybox shell 现在无法使用。

虽然是新的好东西...他们很快就会。支持更多种类的 shell 是 conda 4.4 的一个特性。这项工作的基本 PR 是 https://github.com/conda/conda/pull/5044,还有几个后续。

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