我尝试在Google附带的木星笔记本http://root.cern.ch上安装CERN ROOT https://colab.research.google.com。我无法让python与ROOT一起运行,它在以下位置崩溃: 导入根
我一直照常安装ROOT:
!mkdir -p APPS
!pwd
!cd APPS && wget https://root.cern/download/root_v6.16.00.Linux-ubuntu18-x86_64-gcc7.3.tar.gz
!cd APPS && tar -xf root_v6.16.00.Linux-ubuntu18-x86_64-gcc7.3.tar.gz
!ls APPS/root/bin/thisroot.sh
!source APPS/root/bin/thisroot.sh
!echo $ROOTSYS
!echo $PYTHONPATH
import ROOT
脚本APPS / root / bin / thisroot.sh应该定义PYTHONPATH和ROOTSYS变量,因此应该允许从python使用ROOT。
问题: 运行此脚本后,未设置环境变量,因此无法使用python运行ROOT。
那么,如何设置这些变量??
谢谢, 马辛
答案 0 :(得分:0)
我也尝试在Google colajuatory Jupiter笔记本上使用ROOT,我发现在导入ROOT之前应先加载一些库。以下代码至少在我的笔记本中有效。
!mkdir -p APPS
!pwd
!cd APPS && wget https://root.cern.ch/download/root_v6.13.08.Linux-ubuntu18-x86_64-gcc7.3.tar.gz
!cd APPS && tar -xf root_v6.13.08.Linux-ubuntu18-x86_64-gcc7.3.tar.gz
import sys
sys.path.append("/content/APPS/root/lib")
import ctypes
ctypes.cdll.LoadLibrary('/content/APPS/root/lib/libCore.so')
ctypes.cdll.LoadLibrary('/content/APPS/root/lib/libThread.so')
ctypes.cdll.LoadLibrary('/content/APPS/root/lib/libImt.so')
ctypes.cdll.LoadLibrary('/content/APPS/root/lib/libRIO.so')
ctypes.cdll.LoadLibrary('/content/APPS/root/lib/libNet.so')
ctypes.cdll.LoadLibrary('/content/APPS/root/lib/libTree.so')
ctypes.cdll.LoadLibrary('/content/APPS/root/lib/libMathCore.so')
ctypes.cdll.LoadLibrary('/content/APPS/root/lib/libMatrix.so')
ctypes.cdll.LoadLibrary('/content/APPS/root/lib/libHist.so')
ctypes.cdll.LoadLibrary('/content/APPS/root/lib/libGraf.so')
import ROOT
h = ROOT.TH1F("gauss","Example histogram",100,-4,4)
h.FillRandom("gaus")
c = ROOT.TCanvas("myCanvasName","The Canvas Title",800,600)
h.Draw()
c.Draw()
如果使用ROOT v6.16.00,则会看到如下错误。
OSError: /content/APPS/root/lib/libImt.so: undefined symbol: _ZN3tbb10interface78internal20isolate_within_arenaERNS1_13delegate_baseEl
顺便说一下,下面列出了google colaboratory的Ubuntu,gcc和python版本。
Ubuntu 18.04.2 LTS (Bionic Beaver)
gcc version 7.3.0 (Ubuntu 7.3.0-27ubuntu1~18.04)
python 2.7.15rc1 (default, Nov 12 2018, 14:31:15)