-
Notifications
You must be signed in to change notification settings - Fork 192
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
Newest aiidateam/aiida-core:stable
docker image contains broken pymatgen
dependency
#4339
Comments
@greschd Thank you for reporting! |
Thanks @greschd. I will have a look! |
I am investigating this issue, and what I can tell already - when downgrading the pymatgen version the problem remains. |
The content of ruamel_yaml/ ruamel_yaml-0.15.80.dist-info/ Of the working (1.3.0) image:
So for some reason, the |
To temporarily fix the problem it is enough to do:
|
Yeah, it's weird that it needs to be |
We use it mostly for the environment, for the moment. Many plugins are not available through |
Ah, maybe that's the source of the problem? If either |
So for some reason, in old image build the log looked as follows:
Recently, it has been changed:
|
Maybe some other dependency started requiring |
I did try installing |
I'm really not a |
yes, I've tried that as well, but via |
ah, I might have a clue. The base image ( |
Alright, here's a minimal repro (in a clean
It seems indeed the |
Hmmmm, the old image did also have
|
Maybe related, even though it's old: materialsproject/pymatgen#758 |
My second guess is: we have different pip versions, and new pip might handle dependencies differently |
I think this is not a problem. Ruaml has been put as a dependency quite some time ago, and we have working images build with it. |
Does this work on the old |
So.. conda has packages |
When installing |
so looks like we should install |
Yeah, I think that makes sense. TBH, I have no idea at all why there are two different conda-force sources for that. |
I can now confirm that this is the pip problem. I downgraded pip and rebuild the image. It worked: |
Even without the |
I agree. |
So, the two are actually different packages (ever so slightly): conda-forge/ruamel.yaml-feedstock#7 (comment) Not sure who exactly is responsible for the fact that |
ah, my understanding was that it is the same package that just changed its name. But if those two packages are the different ones, we come back to the pip problem. |
Yeah, so newer The first two are fine (this is normal canonicalization), not sure what the standards say about the latter. |
should we report this to pip? |
Might be pypa/pip#8659 |
It seems to be on purpose: pypa/pip#8645 (comment) |
According to this page, package names aren't even supposed to contain dots 🙈 |
That's only semi-official though.. it's the packaging guide, not the official Python doc. Tried to find a PEP that specifies this, but so far no luck. |
Yeah, so that's definitely intentional on the side of Obviously, conda appears to have a different policy here. But it might be worthwhile to check with them if that is intentional. |
Ah, it was actually changed just recently: conda-forge/ruamel_yaml-feedstock#68 That's only the |
Short description
The newest
aiidateam/aiida-core:stable
docker image containspymatgen
, but that is missing its dependencyruamel.yaml
.Update: The
1.3.0.1
image is also broken, while1.3.0
works. I suspect it's something about these being built more recently - the latestpymatgen
release is from 2020-08-13.Steps to reproduce
docker pull aiidateam/aiida-core:stable
docker run aiidateam/aiida-core:stable
docker exec --tty $DOCKERID wait-for-services
docker exec -it $DOCKERID bash
su aiida
verdi shell
import pymatgen
Result:
Expected behavior
The last command should import
pymatgen
.Your environment
Tagging @csadorf @yakutovicha
The text was updated successfully, but these errors were encountered: