JuliaPy / PyPlot.jl

Plotting for Julia based on matplotlib.pyplot
https://github.com/JuliaPy/PyPlot.jl
MIT License
469 stars 85 forks source link

PyPlot.jl as a dependency breaks package registration? #570

Closed a2ray closed 11 months ago

a2ray commented 11 months ago

Apologies for re-visiting the error in the closed issue https://github.com/JuliaPy/PyPlot.jl/issues/568#issuecomment-1636264150, with the error underneath

 > [7/7] RUN julia -e 'using PyPlot':                                                                                                                                                                               
#0 1.434 [ Info: Installing matplotlib via the Conda matplotlib package...                                                                                                                                          
#0 1.435 [ Info: Running `conda install -y matplotlib` in root environment                                                                                                                                          
#0 1.892 Collecting package metadata (current_repodata.json): ...working... done                                                                                                                                    
#0 17.04 Solving environment: ...working... unsuccessful initial attempt using frozen solve. Retrying with flexible solve.                                                                                          
#0 23.96 Solving environment: ...working... unsuccessful attempt using repodata from current_repodata.json, retrying with next repodata source.
#0 27.86 
#0 27.86 ResolvePackageNotFound: 
#0 27.86   - conda==23.1.0

I believe that this error will impede package registration with PyPlot.jl as a dependency. Please see comments underneath.

a2ray commented 11 months ago

Apologies for revisiting this again ... but there is some error to do with conda and matplotlib in packages that have PyPlot.jl as a dependency but I can't pinpoint where. On triggering a new package release of HiQGA on GitHub using Registrator @JuliaRegistrator register I get almost exactly the same error as shown by @Octogonapus above, specifically,

ResolvePackageNotFound: 
#   - conda==23.1.0

where automerge fails with the error

[ Info: Installing matplotlib via the Conda matplotlib package...
[ Info: Running `conda install -y matplotlib` in root environment

ResolvePackageNotFound: 
  - conda==23.1.0

The automerge error is here.

I know this is not to do with my package or PyPlot, because a manual install with

pkg>add https://github.com/GeoscienceAustralia/HiQGA.jl.git

works fine on Julia v 1.9, the same Julia version as in the GitHub/Registrator automerge script. However, new package releases with PyPlot.jl as a dependency will break, I think.

JuliaRegistrator commented 11 months ago

Error while trying to register: Register Failed @a2ray, it looks like you are not a publicly listed member/owner in the parent organization (JuliaPy). If you are a member/owner, you will need to change your membership to public. See GitHub Help

JuliaRegistrator commented 11 months ago

Error while trying to register: Register Failed @a2ray, it looks like you are not a publicly listed member/owner in the parent organization (JuliaPy). If you are a member/owner, you will need to change your membership to public. See GitHub Help

a2ray commented 11 months ago

Very strange ... I fixed it on my end but had to use a build script in deps/build.jl and do a Conda.pip to install matplotlib before installing through Conda.add as normal. Otherwise, it kept failing to find conda-forge. I had never needed a build.jl before for PyPlot as a dependency. See here https://github.com/GeoscienceAustralia/HiQGA.jl/commit/db833bf32840503ee3bd0909b2b92993c239413c