【发布时间】:2020-03-05 21:57:58
【问题描述】:
我无法在我的 NodeJS 应用中使用 exec 运行 Conda 命令。
var conda_path = '~/miniconda3/bin/conda'
var cmd = conda_path + ' init bash & ' + conda_path + ' activate XYZ'
exec(command,
function(error, stdout, stderr){
}
);
我收到以下错误:
/bin/sh: /Users/username/Desktop/repos/project/XYZ: 是一个目录
CommandNotFoundError:您的 shell 未正确配置为 使用“康达激活”。要初始化你的 shell,运行
$ conda init <SHELL_NAME>目前支持的 shell 有: - 重击 - 鱼 -tcsh - xonsh -zsh - 电源外壳
有关更多信息和选项,请参阅“conda init --help”。
重要提示:您可能需要在运行后关闭并重新启动 shell 'conda 初始化'。
我在网上找不到关于从 NodeJS 应用程序运行 conda 命令的相关信息。
我怎样才能做到这一点?
【问题讨论】:
-
如果您需要在 Conda 环境中运行命令或脚本,请考虑使用
conda runas shown in this answer,这样可以避免手动激活。如果您尝试以编程方式操作 Conda 环境,那么我想那是另一回事了。 -
我可能会尝试一下。我想出了一个可行的解决方案。
-
现在我看到了你的命令,是的,你绝对应该切换到
conda run。此外,conda init实际上只意味着运行一次,并且具有编辑 shell 初始化脚本的用户级副作用 - 幸运的是它是幂等的,但在这里很浪费。您实际上应该查看它生成的代码,以了解如何初始化 shell 会话。