redballoon 发表于 2024-6-15 11:40

在pycharm中找不到可用的JavaScript运行时???

本帖最后由 redballoon 于 2024-6-19 21:38 编辑

## 简介

在今天突然遇到的一个错误,不知道为什么在pycharm中执行execjs库的代码会报错:**<font color="red">execjs._exceptions.RuntimeUnavailableError: Could not find an available JavaScript runtime.</font>**

而我在cmd中使用命令行运行却不会报错。而且我的node环境是没问题的,找了个配置环境的教程检查过一遍。

!(https://cdn.jsdelivr.net/gh/redballoom/my-pic@main/imgs/image-20240615113944056.png)

测试代码:

```python
import execjs

# 创建一个JavaScript代码字符串
js_code = """
function add(a, b) {
    return a + b;
}
"""

# 使用execjs编译并执行JavaScript代码
context = execjs.compile(js_code)
result = context.call("add", 1, 2)
print("Result:", result)# 应该输出 3

# 指定Node.js的路径
node = execjs.get().name
print(f"Using {node} runtime")
```

## 运行效果

!(https://cdn.jsdelivr.net/gh/redballoom/my-pic@main/imgs/image-20240614225421676.png)

!(https://cdn.jsdelivr.net/gh/redballoom/my-pic@main/imgs/image-20240615105557408.png)

## 环境变量

用户变量:

![](https://cdn.jsdelivr.net/gh/redballoom/my-pic@main/imgs/image-20240615112807459.png)

系统变量:

![](https://cdn.jsdelivr.net/gh/redballoom/my-pic@main/imgs/image-20240615112950728.png)

pycharm中的nodejs环境如下:
!(https://cdn.jsdelivr.net/gh/redballoom/my-pic@main/imgs/image-20240615113207204.png)

而且执行js文件的代码也是没问题的,就是使用PyExecJS或PyExecJS2的代码都会报错。

我一直找不到原因,有路过的大佬能帮办看看吗?

我心飞翔1995 发表于 2024-6-15 15:50

图片看不到

ABuSiDeLuoYin 发表于 2024-6-15 17:04

尝试重启Pycharm,让终端重新获取一遍环境变量试试

redballoon 发表于 2024-6-15 17:32

ABuSiDeLuoYin 发表于 2024-6-15 17:04
尝试重启Pycharm,让终端重新获取一遍环境变量试试
不行的,重启也一样,而且网上找不到相关的解决方法

Kuronoks 发表于 2024-6-16 14:59

mac系统
pycharm专业版2023.3.3
python3.12
node20.12.2
pyexcejs1.5.1
直接运行楼主的示例代码没有问题,楼主的是社区版吗,看网上有人说社区版貌似不支持node,可能要装一些插件

ABuSiDeLuoYin 发表于 2024-6-16 15:19

本帖最后由 ABuSiDeLuoYin 于 2024-6-16 15:23 编辑

redballoon 发表于 2024-6-15 17:32
不行的,重启也一样,而且网上找不到相关的解决方法
这只能你自己找原因了,我这边在Pycharm中安装PyExecJS后执行你的代码是正常的,我也是用的NVM管理的node版本,只是我用的node v16

按理来说,你在Pycharm的终端(即Terminal)里打开一个命令行能正常调用node,程序应该也可以,我只遇见过下载node后没重启IDE导致IDE读取不到node的情况

redballoon 发表于 2024-6-16 21:54

ABuSiDeLuoYin 发表于 2024-6-16 15:19
这只能你自己找原因了,我这边在Pycharm中安装PyExecJS后执行你的代码是正常的,我也是用的NVM管理的node版 ...

确实,第一次遇到,在cmd终端能正确运行,到ide中就报错,vscode也一样,找不到原因

redballoon 发表于 2024-6-19 18:09

本帖最后由 redballoon 于 2024-6-19 18:12 编辑

使用dockerfile构建的镜像完美解决此问题,在本地我尝试过重新安装pycharm和nvm最后都没能解决,在vscode也是一样。

你好,再见 发表于 2024-6-19 23:06

路径有中文,可能是编码问题,pycharm设置里面改一下编码跟你的windows控制台一样

redballoon 发表于 2024-6-20 00:26

你好,再见 发表于 2024-6-19 23:06
路径有中文,可能是编码问题,pycharm设置里面改一下编码跟你的windows控制台一样

不是这个原因,我尝试把我pycharm的编码改回GBK还是一样的报错。
页: [1]
查看完整版本: 在pycharm中找不到可用的JavaScript运行时???