AddIncludePath() in Python seems to process command line arguments

ROOT Version: 6.20/04
Platform: Linux Debian 10
Compiler: GCC 8.3.0-6 (?)


In Python 3 scripts, a call to ROOT.gInterpreter.AddIncludePath() seems to process sys.argv.

This can have unexpected behaviors. A small script reproduces the problem:

import argparse
import ROOT

ROOT.gInterpreter.AddIncludePath("@ROOT_INCLUDE_DIR@")

argparse.ArgumentParser().parse_args()

run with

python3 <test-script> -h

The ROOT usage text appears.

Is this exprected behavior? Is there some alternative way to add include paths in Python that won’t scan sys.argv?

Hello,

Can you try this with 6.22/06? 6.22 comes with a new PyROOT which, by default, does not parse the command line arguments anymore.

Thanks you for your reply. Yes, we’ll try it. We’re having trouble building 6.22/06.

Ok, let us know if we can help you with that too.

There’s updated information on how to build ROOT from sources here:

Alternatively, if that’s an option for you, there are easier installation solutions like conda:

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.