安装pyv8

来源:互联网 发布:上海有mac专柜吗 编辑:程序博客网 时间:2024/04/28 21:09

pyv8是python和javascript之间进行交互。

一、在Mac上安装pyv8

在Mac上直接使用pyv8需要安装一些支持库,
安装依赖:
Boost, 这一步网上的大部分教程都差不多,也是必须的;但是Mac上不能使用apt-get,可以用brew代替。
brew install boost
brew install libboost-all-dev

接着安装pyv8:
sudo pip install -e git://github.com/brokenseal/PyV8-OS-X#egg=pyv8

二、在ubuntu上安装pyv8:

安装依赖
首先安装依赖: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
网上有些通过svn安装的,其链接好像失效了,没法用。所以我在网上找了一个方法:
利用二进制文件进行安装。
二进制文件googlecode官网有,有人在github上也提供了很全面的二进制安装文件https://github.com/emmetio/pyv8-binaries 找到适合你机器的版本下载.
本机ubuntu系统用的是pyv8-linux64.zip文件。
我使用wget 直接下载该文件,始终不行。我先下载到本地,在上传到服务器上。
解压出来应该有如下两个文件:一个源码,一个二进制文件。一般Python的第三方包有这俩文件就够了,
PyV8.py
_PyV8.so
然后把这两个文件拷到你的python第三方包的目录里面就好,比如我的是:
cd pyv8 //进入解压后的目录
sudo cp * /usr/lib/python2.7/dist-packages/
然后使用import PyV8,导入成功。不能像Mac一样使用from pyv8 import PyV8,这样会导入失败。
这就非常不便利,在Mac上导入的模块和在服务器上导入模块的语句不同。

有些网站上说,开始导入import PyV8时会遇见错误。他们处理的方式:

################以下为摘抄###################,

‘‘‘之后尝试导入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 正常!‘‘‘

1 0