-
-
Notifications
You must be signed in to change notification settings - Fork 354
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error requiring HDF5
from Plots
: Group not defined
#3235
Comments
@ma-laforge would you have the time to have a quick look at this? |
Hmmm. That's new. I'll have to look into it. |
Status
CausePeople (ex: @StevenWhitaker) want to use the newest Plots.jl with an old version of HDF5.jl Why is this not a problem with other backendsPeople typically only use plotting backend modules through Plots.jl itself (they won't use other backends in other parts of their code). So people naturally accept updating to the newest version of the backend package when Plots.jl tracks changes to their interfaces. However it is reasonable that many people don't intend on using the HDF5 backend - whilst still using HDF5.jl for other purposes in their code. OptionsHere are the most practical options, as far as I can see. Option 1 (Personal suggestion)Accept that users might get confused with this message/transition (doesn't happen very often), and suggest they either migrate to the new HDF5.jl, or stick with earlier versions of Plots.jl. Option 2Add Option 3Add HDF5.jl as an explicit dependency of Plots.jl so that we quickly/easily get more useful error messages (Not a big fan of adding unnecessary dependencies). Option 4Perform version check @ startup to ensure we can give a more useful message to the user during this time of transition. NOTE
ConclusionAs stated above, I vote for option 1 - but it all depends on the philosophy of the Plots.jl team. Question for the teamWhat do you suggest we/I do? |
I vote for option 1 too. |
I agree, thanks a lot @ma-laforge ! |
Hi @ma-laforge, thank you for this! Apologies if this question is trivial, I am a new user. |
What's the "newest" version?@alicecorbella: If you go to HDF5.jl's website (https://github.com/JuliaIO/HDF5.jl), you'll see the version number of the newest release in the "Releases" section. At the time of writing, that's v0.15.4. To be fair... that's assuming the maintainers are diligent about creating Git "Releases" or have set up their package repository for auto-generating them. Thankfully, this is appears to typically be the case. Do I have the newest version?You might think you have the newest version, but certain packages require older versions of packages you've already installed... So adding them to your Julia installation[1] might actually end up downgrading some of the packages you've already installed. [1] The more accurate statement would be: "to your current Julia environment". To see what version of HDF5 you are actually using, you can run "status" in Julia's package manager:
If you can't see HDF5, you can either:
Hope that helps |
This is giving me an error which breaks my code after upgrading to Julia 1.7. I see the following:
The one added difference is that I did a using call for the Revise package first. Also I believe I have the "latest" HDF5 package, namely
Should I open this up as a new bug? |
Since this error is thrown by Revise I'd open the issue there |
I think it might be related to an open issue already reported there for Revise 3.2.0 |
Try to run your code on Colab notebook. |
I get the following warning with HDF5.jl v0.13.6 and Plots.jl v1.10.1:
It looks like backends/hdf5.jl assumes a certain version of HDF5.jl, one in which
Group
andDataset
structs exist. The version of HDF5.jl I am using (v0.13.6), though, still hasHDF5Group
andHDF5Dataset
structs (it looks like some later version renamed them, not sure which version). Is there some way to make backends/hdf5.jl still work with the earlier versions of HDF5.jl? If not, is there some way to make the warning more brief and informative (e.g., "the HDF5 backend requires HDF5.jl v0.15 or greater" or something like that)? Or is there a way to make the warning appear only when I try to actually use the HDF5 backend?I guess my main reason for raising this issue is because there's a package I use that depends on both Plots.jl and HDF5.jl, and every time I load the package I get this obtrusive warning that I actually don't care about because I'm not going to use the HDF5 backend anyway.
Here's my
versioninfo()
:The text was updated successfully, but these errors were encountered: