【问题标题】:Calling python code in anaconda environment from nodejs debug mode in VS Code在 VS Code 中从 nodejs 调试模式调用 anaconda 环境中的 python 代码
【发布时间】:2019-12-22 11:58:07
【问题描述】:

我正在使用 spawn 从 nodejs 调用 python 脚本。

python脚本安装在conda环境中,我的VS code项目在nodejs中。

当我要调试nodejs代码时,需要像在conda环境中一样调用python脚本。我该怎么做?

目前报错“未找到 Python,但可以从 Microsoft Store 安装”

【问题讨论】:

    标签: python node.js windows


    【解决方案1】:

    当您从 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, ...]);
    

    【讨论】:

    • 谢谢,但我不是指 python 安装,而是 conda 环境(您使用“conda activate [env_name]”激活的环境)
    • 对不起,我完全忽略了你在谈论 conda 环境,在我的脑海里,我想到了 virtualenv。您可以找到您的 conda 环境使用的 python 安装的完整路径,并使用它来启动进程。您可以在此处查看找到路径的步骤stackoverflow.com/a/47277111/2313097
    • 谢谢 - 它成功了!您能否更新您的答案(在此处添加链接)以便我接受?
    • @Yogeshwar 它仍然对我不起作用。仍然找不到模块。它只是从该路径运行 python 可执行文件,但不会激活环境。类似于当您自己转到该路径并打开 python 提示符时,它会显示警告:此 Python 解释器处于 conda 环境中,但尚未激活该环境。库可能无法加载。激活这个环境请看conda.io/activation我不知道怎么解决。你能帮忙吗?
    • @ashawe 尝试在process.env 中设置正确的 PATH(如您提供的链接中所述)。因为它作为环境变量传递给 spawn() 进程。所以理论上生成的进程应该在那个环境中搜索路径并且应该找到并且不会给你这个警告。已经很长时间了,我现在没有在我的电脑上安装 Python,所以不能自己尝试,但希望这可能会有所帮助。
    【解决方案2】:

    似乎路径问题。和这个类似。

    在环境变量设置中检查您的路径。有同样的 问题。路径条目的顺序是分层的。所以如果 winapps 目录首先列出,它会将您发送到应用商店。 将你的 python 安装目录、bin 和 lib-scripts 移到顶部

    https://www.reddit.com/r/vscode/comments/duxqtq/python_was_not_found_but_can_be_installed_from/

    【讨论】:

      猜你喜欢
      • 2021-06-20
      • 2021-11-18
      • 1970-01-01
      • 1970-01-01
      • 2022-11-04
      • 2020-09-30
      • 1970-01-01
      • 1970-01-01
      • 2016-03-13
      相关资源
      最近更新 更多