前提:我的电脑是mac10.14,node版本是v20.9.0,npm版本是10.1.0.
在修改环境配置之前,我一直出现以下报错(Jupyter lab)。一开始以为是代码里的js文件里面有语法错误,后来让身边的人试过之后,发现代码没有问题。试错了很多次,最后意识到了是环境配置的问题。(这也给自己一个教训,代码没错的话,就去考虑环境配置)
出现这个问题的最主要原因就是MAC系统需要额外配置环境,因为MAC系统本身自带Javascript引擎,所以需要更改环境配置。
配置环境的具体步骤:
-
打开
execjs
包下面的_external_runtime.py
文件,找到node_node()
函数,更改command=['node']
为node
在电脑里的绝对路径(可以通过在终端里输入which node
来确认node
的路径),我的是在/usr/local/bin/node
这里,所以我更改成了command=['/usr/local/bin/node']
。 -
需要在代码前面增加
# define headers os.environ['EXECJS_RUNTIME'] = 'Node' node = execjs.get('node')
-
可以通过
print(execjs.get().name)
该命令确认引擎是否更改成功,只要输出结果是Node.js (V8)
即说明更改成功。
希望大家都可以不要遇到环境配置问题!!!