Skip to content
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

Pin matplotlib to <3.3 and add compilers #1898

Merged
merged 1 commit into from
Nov 4, 2020
Merged

Conversation

bouweandela
Copy link
Member

@bouweandela bouweandela commented Nov 4, 2020

Cartopy 0.17 does not work with matplotlib > 3.2 SciTools/cartopy#1615 and pinning Cartopy to > 0.17 seems to result in an environment that is very difficult to solve (see my attempts in #1893).

Therefore I think it would be best to pin matplotlib to <3.3 for now and try to upgrade again in a month or so.

I also added the compilers package to make sure the conda compilers are always used. This solves an issue I was having in #1893 because cartopy failed to compile when trying to install a newer version of it with pip on top of environment.yml and it also makes sure all R packages are compiling with the correct compilers, the r-base package does have some compiler dependencies, but not all (possibly related to #1816).

This should fix #1894.

Copy link
Contributor

@Peter9192 Peter9192 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Environment can be resolved quite easily
  • Tried to run example python recipe and climwip PR with this env, both work
  • I did get some warnings and clobber messages like these:
SafetyError: The package for iris located at /home/peter9192/miniconda3/pkgs/iris-2.4.0-py38_0
appears to be corrupted. The path 'lib/python3.8/site-packages/iris/plot.py'
has an incorrect size.

and

ClobberError: This transaction has incompatible packages due to a shared path.
  packages: conda-forge/linux-64::c-compiler-1.1.1-h516909a_0, conda-forge/linux-64::fortran-compiler-1.1.1-he991be0_0
  path: 'bin/gcc'

not sure if that can be ignored or not.

@bouweandela
Copy link
Member Author

ClobberError: This transaction has incompatible packages due to a shared path.
packages: conda-forge/linux-64::c-compiler-1.1.1-h516909a_0, conda-forge/linux-64::fortran-compiler-1.1.1-he991be0_0
path: 'bin/gcc'

This error is to be expected because the GCC compiler is likely a single package and conda tries to take it apart into separate packages, so I think this should be fine.

SafetyError: The package for iris located at /home/peter9192/miniconda3/pkgs/iris-2.4.0-py38_0
appears to be corrupted. The path 'lib/python3.8/site-packages/iris/plot.py'
has an incorrect size.

I'm not sure about this warning, it doesn't appear for me when I run conda env create -n test -f environment.yml and I do not see it on CircleCI either, so it might be something related to your local machine. You can clean the cache of downloaded packages by runnign conda clean -a, maybe that helps?

@Peter9192
Copy link
Contributor

Okay trying again with a clean conda cache

@Peter9192
Copy link
Contributor

Okay trying again with a clean conda cache

Unfortunately this doesn't help. I get this for r-base, iris/plot and iris/quickplot. But indeed, the issue seems to be related to my machine then, I'll look into it a bit more later.

@bouweandela bouweandela merged commit 9c79cbb into master Nov 4, 2020
@bouweandela bouweandela deleted the pin-matplotlib branch November 4, 2020 11:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants