-
Notifications
You must be signed in to change notification settings - Fork 43
Temporary solution: install eccodes from PyPI in conda environment
#2857
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
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2857 +/- ##
=======================================
Coverage 95.46% 95.46%
=======================================
Files 260 260
Lines 15519 15519
=======================================
Hits 14815 14815
Misses 704 704 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
How about we just put a pin on eccodes to get our tests running again? Or we add the missing dependencies to our environment.yml if you're keen on using the latest version? |
gah, no way I am starting to add all those deps, especially since we don't even depend directly on eccodes - I'll pin it to <2.44 and will ping @pp-mo see if he wants to pin it in iris-grib, so we can remove the pin ourselves |
|
ah brilliant! Pinning eccodes<2.44 makes Circle lose its beans and spend forefer solving the environment - what, it was the version until just a few days ago 😆 Just gonna pin it to 2.43 |
eccodes from PyPI in conda environment
|
@bouweandela this is finally working and is ready - not an elegant way of handling a problem that's not even ours 😁 |
…SMValGroup/ESMValCore into add_eccodeslib_pypi-dependency
|
I think the issue may be that |
it's a mess! I don't think |
|
no, it appears you are right - https://github.com/ecmwf/eccodes-python says it depends on eccodeslib from PyPI or on eccodes from c-f, depending how you install it; but eccodes from c-f for 2.44 onwards also depends on eccodeslib as pip sees it, so we're back to square A; they need to fix this thing, afarid we can't do much apart from this here, moreover we are going through iris-grib, that can't even support eccodes=2.44 coz their tests are failing SciTools/iris-grib#708 |
|
BTW you added the pip check in the wrong package feedstock (eh won't hurt tho), we need that in eccodes feedstock 🤣 |
|
Here is a mapping, hopefully that clarifies things:
The |
|
Also note this message (source), which probably explains why we have started seeing this issue only now:
|
|
Yes, that's the message I just saw too. What do you propose we do for us though, this is the thing that bothers me - I reckon sticking to PyPI as I put in yesterday is the safest approach for now |
Wait and see if the nightly tests pick up the new build of |
it works well now! I tested with a local env, and turned on GHA here 🥳 |
I also renamed the dependency of the conda package from |
|
aah! and done nicely with a repopatch too - missed that, the key ingredient - well, I had not even known about python-eccodes until I saw your PR so another +1 from me 🍻 |
Description
We get
eccodesviairis-gribbut our pip check test fails because the conda package does not come with its extra libraries anymore (eccodeslib,fckitlibandeckitlib) soeccodesis practically incomplete since 2.44 (inclusive) as seen by the environment (those libs are internal to theeccodesconda package, butpipthinks otherwise, it thinks they are separate dependencies, as they really are on PyPI).The only viable solution for us is to install
eccodesfrom PyPI inside the conda env, so that those extra deps are pulled from PyPI; then on,eccodesdoes get installed from conda-forge viairis-grib.Pinning
eccodesand forcing it as a conda-forge dependency does not work since the CircleCI env fails to solve. Having it as a PyPI dep inpyproject.tomldoes not help since we use--no-depsflag. Bit of a roadblock, proper.Closes #2856
Before you get started
Checklist
It is the responsibility of the author to make sure the pull request is ready to review. The icons indicate whether the item will be subject to the 🛠 Technical or 🧪 Scientific review.
To help with the number pull requests: