linux上安装了pyv8 执行execjs的时候想用pyv8的环境去执行,但是 运行的时候 说找不到js的运行环境怎么办

JavaScript013

linux上安装了pyv8 执行execjs的时候想用pyv8的环境去执行,但是 运行的时候 说找不到js的运行环境怎么办,第1张

pyv8 的作用是在python中执行js代码,然后可以使用js里的变量等内容。python取得javascript里面的值、javascript取得python里面的值、python和javascript里面的函数交互

mac下的安装:pip install -e git://github.com/brokenseal/PyV8-OS-X#egg=pyv8

安装后有两个文件:一个PyV8.py 另一个_PyV8.so

下面示例是执行js文件

from pyv8 import PyV8

ctxt = PyV8.JSContext()

ctxt.enter()

with open('/usr/graph.js') as f:

jsdata = f.read()# print jsdata

print ctxt.eval(jsdata)

下面是执行一段代码

import PyV8

ctxt = PyV8.JSContext()

ctxt.enter()

func = ctxt.eval("""

(function(){

function hello(){

return "Hello world."

}

return hello()

})""")print func()

则在python环境中打印出js执行的结果:Hello world.

更多信息可参考《Linux就该这么学》

在LINUX中我们可以使用这种简单的方式让node.js在后台运行:

1

nohup node your_app.js &

forever可以让我们做得更好,并且可以跨平台的在windows和Linux下都能运行。

forever的安装:

1

npm install forever -g

forever的用法:

使用forever启动守护进程:

1

forever start your_app.js

关闭守护进程:

1

forever stop your_app.js

重启守护进程::

1

forever restart your_app.js

如果需要记录输出日志和错误:

1

forever start -l forever.log -o out.log -e err.log your_app.js

查看正在运行的程序:

1

forever list

现在linux版本很多,用红帽的可视化图形界面,与windows操作相似,你写代码也可以以同样的方式运行。

一楼的代码好像有点问题, js一般放在head中间,我从网上看到大多数人写代码都是这样的。

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312">

<title>轻言轻语</title>

<META name="GENERATOR" content="IBM HomePage Builder 2001 V5.0.0 for Windows">

<script type="text/javascript">

var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://")

document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3Fed9eb0e17f50c86a478c357e7243dac7' type='text/javascript'%3E%3C/script%3E"))

</script>

<script src="http://s27.cnzz.com/stat.php?id=1569616&web_id=1569616&show=pic1" language="JavaScript" charset="gb2312"></script>

</head>

<body>js魔法世界 此程序错误!

</body>

</html>