今天是第一次用python執(zhí)行js語句,說實(shí)話,我本來認(rèn)為,只要安裝PyExecJS庫就萬事大吉了,可惜我還是高興得太早了。我是照著這篇文章來練習(xí)的。但是一開始就掉入一個(gè)大大的坑中,差點(diǎn)沒爬出來。
代碼運(yùn)行過程是這樣的
import execjs.runtime_names
import os
print(execjs.get().name)
os.environ["EXECJS_RUNTIME"] = "Node"
print(execjs.get().name)
node = execjs.get(execjs.runtime_names.Node)
print(node.eval("1 + 2"))
#運(yùn)行結(jié)果
JScript
JScript
Traceback (most recent call last):
File "C:/Users/Administrator/Desktop/pachongji/51.py", line 300, in <module>
node = execjs.get(execjs.runtime_names.Node)
execjs._exceptions.RuntimeUnavailableError: Node.js (V8) runtime is not available on this system
emmmm.....,報(bào)錯(cuò)了,而且結(jié)果也和預(yù)期的不一樣,怎么辦?問度娘唄。然后我才知道調(diào)用node.js需要先安裝node.js,那就開始安裝,下載安裝包,運(yùn)行安裝,一路next,最后finish,ok,這下應(yīng)該OK了。然而沒什么用,再次運(yùn)行代碼仍是一樣的報(bào)錯(cuò),然后我又開始糾結(jié),是我環(huán)境變量沒弄對(duì)?還是node.js的調(diào)用方式不對(duì)?然后百度了一個(gè)小時(shí),最后通過cmd中set命令的結(jié)果和os.environ的打印結(jié)果對(duì)比才發(fā)現(xiàn),node.js的環(huán)境變量根本沒加載到pycharm中。這就很尷尬了。凡是新裝依賴軟件或者改變環(huán)境變量的插件,都需要重啟pycharm!重啟pycharm!重啟pycharm!重要的事說三遍。說多了都是淚啊。
再次重新運(yùn)行代碼
#運(yùn)行結(jié)果
Node.js (V8)
Node.js (V8)
3
哎,寫代碼一定要注意細(xì)節(jié)啊,要不然浪費(fèi)時(shí)間,浪費(fèi)精力,最后還恨不得把自己錘死。。。