【发布时间】:2019-12-22 11:58:07
【问题描述】:
我正在使用 spawn 从 nodejs 调用 python 脚本。
python脚本安装在conda环境中,我的VS code项目在nodejs中。
当我要调试nodejs代码时,需要像在conda环境中一样调用python脚本。我该怎么做?
目前报错“未找到 Python,但可以从 Microsoft Store 安装”
【问题讨论】:
我正在使用 spawn 从 nodejs 调用 python 脚本。
python脚本安装在conda环境中,我的VS code项目在nodejs中。
当我要调试nodejs代码时,需要像在conda环境中一样调用python脚本。我该怎么做?
目前报错“未找到 Python,但可以从 Microsoft Store 安装”
【问题讨论】:
当您从 Nodejs 调用脚本时,我认为您正在使用默认的 python 安装。像这样的:
const spawn = require("child_process").spawn;
const pythonProcess = spawn('python',["path/to/script.py", arg1, arg2, ...]);
为了使用特定的 conda env。找到该 conda 环境的 python 可执行文件的路径,并使用该 python 可执行文件来调用这样的脚本(click here 了解如何找到 conda 环境的 python 可执行文件路径):
const spawn = require("child_process").spawn;
const pythonProcess = spawn('/full/path/to/example-env/bin/python3',["path/to/script.py", arg1, arg2, ...]);
【讨论】:
process.env 中设置正确的 PATH(如您提供的链接中所述)。因为它作为环境变量传递给 spawn() 进程。所以理论上生成的进程应该在那个环境中搜索路径并且应该找到并且不会给你这个警告。已经很长时间了,我现在没有在我的电脑上安装 Python,所以不能自己尝试,但希望这可能会有所帮助。
似乎路径问题。和这个类似。
在环境变量设置中检查您的路径。有同样的 问题。路径条目的顺序是分层的。所以如果 winapps 目录首先列出,它会将您发送到应用商店。 将你的 python 安装目录、bin 和 lib-scripts 移到顶部
https://www.reddit.com/r/vscode/comments/duxqtq/python_was_not_found_but_can_be_installed_from/
【讨论】: