pyv8是python和javascript之间进行交互。
在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
安装依赖 首先安装依赖: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 正常!‘‘‘