root2hdf5 traceback: tree2rec() получил неожиданный аргумент ключевого слова 'records'
Я установил rootpy
и убедитесь, что требования, перечисленные здесь для root2hdf5
были встречены.
При попытке запустить root2hdf5
в простом ROOT-файле, созданном с помощью следующего кода:
void tree1w() {
// Create a Tree file tree1.root - create the file, the Tree and a few branches
TFile f("tree1.root", "recreate");
TTree t1("t1","a simple Tree with simple variables");
Float_t px, py, pz;
Double_t random;
Int_t ev;
t1.Branch("px", &px, "px/F");
t1.Branch("py", &py, "py/F");
t1.Branch("pz", &pz, "pz/F");
t1.Branch("ev", &ev, "ev/I");
// Fill the Tree
for (Int_t i = 0; i < 10000; i++) {
gRandom->Rannor(px, py);
pz = px * px + py * py;
random = gRandom->Rndm();
ev = i;
t1.Fill();
}
// Save the Tree; the file will be automatically closed
// when going out of the function scope
t1.Write();
}
Я получаю следующую ошибку:
INFO:rootpy.root2hdf5] Converting tree1.root ...
INFO:rootpy.root2hdf5] Will convert 1 tree in this directory
INFO:rootpy.root2hdf5] Converting tree 't1' with 10000 entries ...
Traceback (most recent call last):
File "/Users/jamesmorad/Research/Apps/pylux/bin/root2hdf5", line 8, in <module>
load_entry_point('rootpy==0.7.1', 'console_scripts', 'root2hdf5')()
File "/Users/jamesmorad/Research/Apps/pylux/lib/python2.7/site-packages/rootpy/root2hdf5.py",
line 214, in main
selection=args.selection)
File "/Users/jamesmorad/Research/Apps/pylux/lib/python2.7/site-packages/rootpy/root2hdf5.py",
line 109, in convert
selection=selection)
TypeError: tree2rec() got an unexpected keyword argument 'entries'
Я не совсем понимаю, почему я вижу эту ошибку, и я был бы очень признателен за любую помощь в работе этого конвертера.
1 ответ
Установите последнюю версию rootpy. Извините, нового тега пока нет, но при использовании более новых версий root_numpy вам необходимо установить версию rootpy после версии 0.7.1:
git clone git://github.com/rootpy/rootpy.git
cd rootpy; ./setup.py install --user