Hi,
I have just built root from source on my mac and I need to use PyROOT. The root interpreter is working fine and I am able to open TBrowser, use TCanvas, do calculations, etc. I am also able to do the same with the python interpreter in terminal. I am able to run the example code in the PyRoot Tutorial.
However, there is an issue when I try to run a python script with the same exact code. Anytime TCanvas is opened, a blank screen pops up and if I hold my cursor over the window, I just get the mac loading cursor (the spinning pinwheel) and am unable to do anything with the window except close out and end the script. There is no error message in the terminal so I have no idea how to diagnose the issue.
The issue isn’t that the screen is just flashing momentarily (this is easily solved by just adding an input statement after the TCanvas). I am utterly confused since it seems like my root installation is working but I just can’t run scripts. I am a bit of a beginner so any help is appreciated.
I am running ROOT Version 6.30/04 and I have python version 3.11.7. and I am on a macbook with an Apple M3 pro chip (I have seen online that there may be issues with apple chips and root)
It’s easier to understand and help if you can provide some minimal code or script that reproduces the issue you describe; since you say that the same code works in some conditions but not in other, try to also show how exactly you are running the code.
Sure!
The issue occurs for even the simplest code. For example, the following script (call it test.py)
import ROOT
f = ROOT.TF1("f1", "sin(x)/x", 0., 10.)
f.Draw()
input()
Now if I run the code above as a python script in terminal (python3 test.py), I get no error message but a blank TCanvas that I cannot interact with as shown in the image below.
This worked! I had added the input() line to make the TCanvas window persist and this had worked for me in previous versions of root. Now instead I tried using the flag “-i” when running the python script to keep the interpreter alive and this worked! Thank you so much!