记录Ubuntu & Windows下安装PyV8
2016-06-10 18:25
435 查看
2016.5.16更新: 提供PyV8 for python2.7 的window安装包网盘下载
这几天需要在使用
结果这次在
在windows下安装要简单很多,如果有了
如果上不去google, 可以用下面的网盘地址:
PyV8
for python2.7
还有一种方式: 利用有人分享的二进制文件:pyv8-binaries,
这里面版本比较全,但是未提供exe。
首先安装依赖:
网上的大部分教程均是使用
下载了源代码,结果编译期间出各种错误,根本没办法执行。
还有一些直接使用
于是就想直接找到二进制文件,直接拷到python的包目录得了。结果这条路还算顺畅!最终比较轻松的安装成功了。
二进制文件googlecode官网有,有人在github上也提供了很全面的二进制安装文件https://github.com/emmetio/pyv8-binaries 找到适合你机器的版本下载.
解压出来应该有如下两个文件:一个源码,一个二进制文件。一般Python的第三方包有这俩文件就够了.
然后把这两个文件拷到你的python第三方包的目录里面就好,比如我的是:
之后尝试导入
当时看到这个错误,然后想到我之前已经安装好了依赖呢,为啥还会报这个错误呢。
大致查了一下,有的说是链接库路径设置问题,之后检查了一下
果然有这个链接库,那为啥检测不到呢,问题就出在环境变量
然而我
保存退出之后,再用
执行下面的测试代码:
执行输出
这几天需要在使用
PyV8来进行
python与
javascript的交互。之前在
window下安装过,也没有遇到什么问题。
结果这次在
Ubuntu安装遇到了不少坑–主要是网上的办法都不可行,不知道为啥。最终折腾了一晚上,终于好了。
windows下的安装
在windows下安装要简单很多,如果有了c++环境之后,只需要在pyv8下载(貌似只有python2.7)下载适合自己系统版本的
exe文件即可,然后直接安装就好了,相对来说简单一些
如果上不去google, 可以用下面的网盘地址:
PyV8
for python2.7
还有一种方式: 利用有人分享的二进制文件:pyv8-binaries,
这里面版本比较全,但是未提供exe。
在Ubuntu下安装
安装依赖
首先安装依赖:Boost, 这一步网上的大部分教程都差不多,也是必须的;
1 2 3 | 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的第三方包有这俩文件就够了.
1 2 | PyV8.py _PyV8.so |
1 2 | cd pyv8 //进入解压后的目录 sudo cp * /usr/lib/python2.7/dist-packages/ |
import PyV8结果报以下的一个错误:
1 | 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
1 2 | 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最后加入了一行:(路径可能不一致,请根据自己的实际情况添加)
1 | export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu |
source ~/.bashrc重载一下就好了。再一次
import PyV8正常!
执行下面的测试代码:
1 2 34 | import PyV8 ctxt = PyV8.JSContext() ctxt.enter() func = ctxt.eval(""" (function(){ function hello(){ return "Hello world."; } return hello(); }) """) print func() |
Hello World就说明安装成功了。可以去模拟js代码了~~~
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- Extjs4.0 最新最全视频教程
- Javascript中toFixed方法的改进
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- 5个常见可用性错误和解决方案
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定