Ubuntu下安裝PyV8
這幾天需要在使用PyV8來進行python與javascript的交互。之前在window下安裝過,直接使用的exe安裝的,也沒有遇到什么問題。
結果這次在Ubuntu安裝遇到了不少坑--主要是網(wǎng)上的辦法都不可行,不知道為啥。最終折騰了一晚上,終于好了。
安裝依賴
首先安裝依賴:Boost, 這一步網(wǎng)上的大部分教程都差不多,也是必須的;
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
網(wǎng)上的大部分教程均是使用svncheckout出V8,PyV8的代碼,然后再設置什么V8的目錄為V8_HOME最后在編譯PyV8;先不說能不能使用svn遷出,(反正我翻墻都沒有遷出來),后來去google.code網(wǎng)站上, 下載了源代碼,結果編譯期間出各種錯誤,根本沒辦法執(zhí)行。
還有一些直接使用pip安裝的教程,也是報各種錯,缺少這個啦,缺少那個啦。
于是就想直接找到二進制文件,直接拷到python的包目錄得了。結果這條路還算順暢!最終比較輕松的安裝成功了。
二進制文件googlecode官網(wǎng)有,有人在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
當時看到這個錯誤,然后想到我之前已經(jīng)安裝好了依賴呢,為啥還會報這個錯誤呢。
大致查了一下,有的說是鏈接庫路徑設置問題,之后檢查了一下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
果然有這個鏈接庫,那為啥檢測不到呢,問題就出在環(huán)境變量LD_LIBRARY_PATH上,因為python尋找鏈接庫的時候,是從該路徑里面找的。
然而我echo $LD_LIBRARY_PATH卻啥都沒有,只要把上面的路徑加入到環(huán)境變量就可以吧。--于是在.bashrc最后加入了一行:(路徑可能不一致,請根據(jù)自己的實際情況添加)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu
保存退出之后,再用source ~/.bashrc 重載一下就好了。再一次import PyV8 正常!
執(zhí)行下面的測試代碼:
import PyV8 ctxt = PyV8.JSContext() ctxt.enter() func = ctxt.eval(""" (function(){ function hello(){ return "Hello world."; } return hello(); }) """) print func()
執(zhí)行輸出Hello World 就說明安裝成功了??梢匀ツM登錄了~~~
相關文章
python 判斷l(xiāng)inux進程,并殺死進程的實現(xiàn)方法
今天小編就為大家分享一篇python 判斷l(xiāng)inux進程,并殺死進程的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07Python?matplotlib繪圖時使用鼠標滾輪放大/縮小圖像
Matplotlib是Python程序員可用的事實上的繪圖庫,雖然它比交互式繪圖庫在圖形上更簡單,但它仍然可以一個強大的工具,下面這篇文章主要給大家介紹了關于Python?matplotlib繪圖時使用鼠標滾輪放大/縮小圖像的相關資料,需要的朋友可以參考下2022-05-05計算機二級python學習教程(2) python語言基本語法元素
這篇文章主要為大家詳細介紹了計算機二級python學習教程的第2篇,Python語言基本語法元素,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-05-05python SMTP實現(xiàn)發(fā)送帶附件電子郵件
這篇文章主要為大家詳細介紹了python SMTP實現(xiàn)發(fā)送帶附件電子郵件,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05