安装 pyv8

简介

V8 是谷歌开源的 JavaScript 引擎,使用 C++ 开发,并在谷歌浏览器中使用。它可以独立运行,也可以嵌入到任何 C++ 应用程序中。pyv8 是 Python 对 v8 引擎的一个封装。

安装

通过源码编译安装

不推荐,经过一番尝试,安装了一系列编译需要的依赖包后,发现还是各种报错,所以自行编译坑太多了,我选择放弃。

通过 pip 安装

也不推荐,本质同使用源码编译安装一样,也是编译,只不过相关过程由 pip 来完成,安装了各种编译需要的依赖包和解决了一堆的错误后,还是没安装好,选择放弃。

通过二进制文件安装

如上所述,通过 pip 安装和下载源码编译安装都是坑。三种方式里,通过二进制文件安装操作起来是最轻松的一种,只需要下载好别人已经编译好的二进制文件,复制到 python 包对应的目录下即可使用。具体操作步骤如下:

For Python 2:

For Python 3:

1
2
  mkdir pyv8
  unzip pyv8-linux64.zip -d pyv8
  • 进入 pyv8 文件夹,复制解压出来的所有文件到对应的 python 包目录下
1
2
3
4
5
  cd pyv8
  # ubuntu 使用以下命令进行复制
  sudo cp * /usr/lib/python2.7/dist-packages/
  # centos 使用以下命令进行复制
  sudo cp * /usr/lib/python2.7/site-packages/
  • 测试 pyv8 能否正常使用,创建一个 test.py 文件,写入以下内容
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
  #!/usr/bin/env python
  import PyV8
  
  ctxt = PyV8.JSContext()
  ctxt.enter()
  func = ctxt.eval("""
      (function(){
          function hello(){
              return "Hello world.";
          }
          return hello();
      })
  """)
  print func()
  • 赋予文件执行权限并运行
1
2
  chmod +x test.py
  ./test.py

如果能正常运行并输出 Hello world. 则说明 pyv8 能正常工作,安装无误。

参考链接