For now the code is trivial, but to avoid high time-to-first plot I created a custom system image with ModelingToolkit, OrdinaryDiffEq, and PyPlot.
The problem is that when launching Julia with this image PyPlot does not show any figures any more by default. It DOES show the figure if I call the function show() at the end of my script, but this is blocking, in other words I cannot longer interactively show multiple plots.
Why are you using PyPlot/PyCall? I believe PythonPlot is a drop-in replacement, though not sure it fixes this, using PythonCall. You don’t use PyCall for anything else there, and you can actually use it with PythonCall (if doing it right), in case you worry about that.
When you’re making a sysimage it’s for faster startup, and maybe to send to others. PythonCall has a bit slower startup but would take care of dependencies.
I.e. the sysimage would be self-contained, but with PyCall it’s not (not for any Python dependency), needing installation of Python and matplotlib manually, right?
I see [[deps.PackageCompiler]] in the manifest, not a worry, I’m just thinking what really ends up in the sysimage, also it?
And PyPlot also installs Python and Matplotlib if it is not installed already. I don’t care if the sysimage is self-contained as long as the startup time is low (and in the moment my first-time-to-plot with ModelingToolkit and OrdinaryDiffEq is 0.2 seconds).