这几天需要在使用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 就说明安装成功了。可以去模拟登录了~~~
本文向大家介绍Ubuntu 14.04下安装MySQL,包括了Ubuntu 14.04下安装MySQL的使用技巧和注意事项,需要的朋友参考一下 1、更新源列表打开"终端窗口",输入"sudo apt-getupdate"-->回车-->"输入root用户的密码"-->回车,就可以了。如果不运行该命令,直接安装mysql,会出现"有几个软件包无法下载,您可以运行apt-getupdate------
主要内容:了解Redis版本,在线安装Redis,启动Redis服务端,启动Redis客户端,验证是否成功安装,Linux源码包安装,网页版Redis工具,Redis可视化工具相比于 Windows 系统而言,Redis 更适合于在 Linux 系统上使用,这是由 Redis 的底层机制决定的。本节介绍如何在 Linux 发行版 Ubuntu 系统上安装 Redis 数据库。 了解Redis版本 Redis 版本号采用国际标准惯例,即“主版本号 副版本号 补丁级别”。 一个偶数的副版本号表示一个
这一节学习在 Ubuntu 上搭建 Nginx 服务。本次实验环境为 Ubuntu 18.04, Nginx 版本为 1.17.6(截止到 2019 年 12 月 12 日最新版本)。 1. 下载源码包并解压 打开终端并运行下面两条命令即可下载并解压 Nginx : $ wget http://Nginx.org/download/Nginx-1.17.6.tar.gz $ tar -xzf Ng
本文向大家介绍Ubuntu下Docker CE的安装,包括了Ubuntu下Docker CE的安装的使用技巧和注意事项,需要的朋友参考一下 本文用于记录Ubuntu 17.10下Docker CE的安装。 安装依赖 关于Docker CE版本在Ubuntu下安装有如下限制 64位的OS 需要Ubuntu64bit的OS, 确认方法如下 版本 支持如下Ubuntu的版本 Artful 17.10 X
本文向大家介绍详解ubuntu下安装Docker,包括了详解ubuntu下安装Docker的使用技巧和注意事项,需要的朋友参考一下 Docker 是 dotCloud 最近几个月刚宣布的开源引擎,旨在提供一种应用程序的自动化部署解决方案,简单的说就是,在 Linux 系统上迅速创建一个容器(类似虚拟机)并在容器上部署和运行应用程序,并通过配置文件可以轻松实现应用程序的自动化安装、部署和升级,非常方
先下载该系列教程:http://pan.baidu.com/s/1gdw7CuJ 找到如图箭头目录上的两个视频,并看完,你对 Ubuntu 的安装就有了一个大概的了解,视频中 Ubuntu 虽然版本较早 13.04 的, 但是没关系,对于 Ubuntu 来讲新旧版本安装基本都一样的,所以别担心,驱动的问题也别担心,我们不是要在 Ubuntu 打游戏的,所以常见驱动系统是已经帮我们集成的不会影响使用