Ubuntu下安装PyV8

这几天需要在使用PyV8来进行python与javascript的交互。之前在window下安装过,直接使用的exe安装的,也没有遇到什么问题。
结果这次在Ubuntu安装遇到了不少坑--主要是网上的办法都不可行,不知道为啥。最终折腾了一晚上,终于好了。

安装依赖

首先安装依赖:Boost, 这一步网上的大部分教程都差不多,也是必须的;

sudo apt-get install scons
sudo apt-get install libboost-dev libboost-thread-dev
sudo apt-get install libboost-system-dev libboost-python-dev

安装PyV8

网上的大部分教程均是使用svncheckout出V8,PyV8的代码,然后再设置什么V8的目录为V8_HOME最后在编译PyV8;先不说能不能使用svn迁出,(反正我翻墙都没有迁出来),后来去google.code网站上, 下载了源代码,结果编译期间出各种错误,根本没办法执行。

还有一些直接使用pip安装的教程,也是报各种错,缺少这个啦,缺少那个啦。
于是就想直接找到二进制文件,直接拷到python的包目录得了。结果这条路还算顺畅!最终比较轻松的安装成功了。
二进制文件googlecode官网有,有人在github上也提供了很全面的二进制安装文件https://github.com/emmetio/pyv8-binaries 找到适合你机器的版本下载.

解压出来应该有如下两个文件:一个源码,一个二进制文件。一般Python的第三方包有这俩文件就够了,

PyV8.py

_PyV8.so
然后把这两个文件拷到你的python第三方包的目录里面就好,比如我的是:

cd pyv8 //进入解压后的目录
sudo cp * /usr/lib/python2.7/dist-packages/

之后尝试导入import PyV8结果报以下的一个错误:

ImportError: libboost_python_py27.so.1.54.0: cannot open shared object file: No such file or directory
当时看到这个错误,然后想到我之前已经安装好了依赖呢,为啥还会报这个错误呢。
大致查了一下,有的说是链接库路径设置问题,之后检查了一下libboost_python_py27.so.1.54.0

shomy@LiuPC:blog$ find /usr/lib/ -name libboost_python-py27.so.1.54.0
/usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.54.0

果然有这个链接库,那为啥检测不到呢,问题就出在环境变量LD_LIBRARY_PATH上,因为python寻找链接库的时候,是从该路径里面找的。

然而我echo $LD_LIBRARY_PATH却啥都没有,只要把上面的路径加入到环境变量就可以吧。--于是在.bashrc最后加入了一行:(路径可能不一致,请根据自己的实际情况添加)

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu
保存退出之后,再用source ~/.bashrc 重载一下就好了。再一次import PyV8 正常!

执行下面的测试代码:

import PyV8

ctxt = PyV8.JSContext()
ctxt.enter()
func = ctxt.eval("""
  (function(){
    function hello(){
      return "Hello world.";
    }
    return hello();
  })
""")
print func()

执行输出Hello World 就说明安装成功了。可以去模拟登录了~~~

(0)

相关推荐

  • 在Ubuntu系统下安装使用Python的GUI工具wxPython

    (一)wxpython的安装 Ubuntu下的安装,还是比较简单的. #使用:apt-cache search wxpython 测试一下,可以看到相关信息 dizzy@dizzy-pc:~/Python$ apt-cache search wxpython cain - simulations of chemical reactions cain-examples - simulations of chemical reactions cain-solvers - simulations of

  • ubuntu lighttpd+webpy (fastcgi)配置方法

    lighttpd 的配置脚本在 /etc/lighttpd/lighttpd.conf,采用默认值 缺省的server.document-root路径是 /var/www 具体实施步骤: 1) 首先实现一个 python 脚本 touch /var/www/hello.py chmod 755 /var/www/hello.py vim /var/www/hello.py 复制代码 代码如下: #!/usr/bin/env python import web urls = ( '/hello',

  • Python开发如何在ubuntu 15.10 上配置vim

    1,安装vim,你可以使用ubuntu 自带的apt-get 工具安装. apt-get install vim-gnome 2,安装成功后,进行配置 1>首先进行自动提示补全的配置(pydiction) 从官方上下载http://www.vim.org/scripts/script.php?script_id=850最新的即可,解压缩后,进入解压缩后的目录,执行如下命令 # cp python_pydiction.vim /usr/share/vim/vim74/ftplugin # mkdi

  • Ubuntu下安装PyV8

    这几天需要在使用PyV8来进行python与javascript的交互.之前在window下安装过,直接使用的exe安装的,也没有遇到什么问题. 结果这次在Ubuntu安装遇到了不少坑--主要是网上的办法都不可行,不知道为啥.最终折腾了一晚上,终于好了. 安装依赖 首先安装依赖:Boost, 这一步网上的大部分教程都差不多,也是必须的; sudo apt-get install scons sudo apt-get install libboost-dev libboost-thread-dev

  • Ubuntu下安装Go语言开发环境及编辑器的相关配置

    安装 Windows下是直接的安装包,这里我们略过,来看一下Ubuntu下安装Go: sudo add-apt-repository ppa:gophers/go sudo apt-get update sudo apt-get install golang-stable 或 sudo apt-get install golang 或者直接下载go语言安装包 环境配置: vi /etc/profile 加入 export GOROOT=/usr/lib/go export GOARCH=386

  • Ubuntu下安装配置Docker的教程详解

    获取Docker 1.准备 Docker要求64位Linux且内核版本在3.10以上,在终端里输入uname -r查看,如图: 接下来更新源并查看是否有https方法: sudo apt-get update sudo apt-get install apt-transport-https ca-certificates 2.添加key 输入以下命令添加GPG key: sudo apt-key adv \ --keyserver hkp://ha.pool.sks-keyservers.net

  • ubuntu下安装WPS的一系列问题

    sudo apt-get install ia32-libs 提示包已被替代,然后安装提示的第一个包! sudo apt-get install libc6:i386 libgcc1:i386 libasound2:i386 libfreetype6:i386 zlib1g:i386 libsm6:i386 libxdamage1:i386 libxext6:i386 libxfixes3:i386 libxrandr2:i386 libxrender1:i386 libxtst6:i386 s

  • ubuntu下安装程序的三种方法总结(推荐)

    引言 在ubuntu当中,安装应用程序我所知道的有三种方法,分别是apt-get,dpkg安装deb和make install安装源码包三种.下面针对每一种方法各举例来说明. apt-get方法 使用apt-get install来安装应用程序算是最常见的一种安装方法了,比如我要安装build-essential这个软件,使用以下,他会帮我把所有的依赖包都一起安装了. sudo apt-get install build-essential 执行上述命令以后,我们可以看到一下信息,The fol

  • ubuntu下安装Python多版本的方法及注意事项

    今天一不小心又把ubuntu系统给完坏了,因为我把python3卸载了,然后就...好了,不废话了,接下来就说一下如何在ubuntu下管理python的多个版本.我这里使用的是一个叫pyenv的Python版本管理工具. 系统环境:ubuntu14.04LTS,系统默认的python版本为2.7,我这里想要再安装一个3.4.3版本. 再安装python之前,我们首先要安装这个管理工具pyenv: $ git clone git://github.com/yyuu/pyenv.git ~/.pye

  • Linux/ubuntu 下安装pyspider的过程

    首先执行 pip install pyspider 此时系统提示 <span style="font-size: 16px;">Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-Lau0Qp/pycurl/  You are using pip version 9.0.1, however version 9.0.3 is available.  Y

  • Ubuntu下安装并配置VS Code编译C++的方法

    Ubuntu下安装并配置VS Code编译C++ 安装VS Code sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make sudo apt-get update sudo apt-get install ubuntu-make sudo umake web visual-studio-code 然后按a直接默认同意就可以. 安装插件 打开VS Code后,按crtl + shift + P调出命令行,然后搜索C++,安装微软自己开发的那个

  • Ubuntu下安装nvidia显卡驱动(安装方式简单)

    Ubuntu下安装nvidia显卡驱动,用同方法安装过GTX1050,安装成功.不会出现循环登录 第一步 获取显卡型号 想办法获取自己nvidia显卡的型号(一般买电脑的时候都会有显卡型号,我的显卡型号是在电脑上的一个贴纸上),本人的显卡是GTX970M. 第二步 查看GTX970M显卡驱动 去NVDIA driver search page查看支持 GTX970M 显卡的驱动的最新版本的版本号 After a successful search take a note of the resul

  • Ubuntu下安装CUDA10.0以及问题

    tensorflow版本与cuda和cudnn的对应关系: https://tensorflow.google.cn/install/source 安装一定要查看CUDA要求的linux下的Driver Version,链接网址如下: https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html 在附加驱动中有本机所用的显卡驱动. 提示Incomplete installation!这里不用管,只是没有安装CUDA驱动,之前

随机推荐