tomMoral / dicodile

Experiments for "Distributed Convolutional Dictionary Learning (DiCoDiLe): Pattern Discovery in Large Images and Signals"
https://tommoral.github.io/dicodile/
BSD 3-Clause "New" or "Revised" License
18 stars 10 forks source link

Add python 3.9 to unit tests matrix #33

Closed rprimet closed 3 years ago

rprimet commented 3 years ago

We are currently running unit tests on python 3.8 due to numba not supporting python 3.9.

It looks like support has landed, so we could require numba >= 0.53.1 and add python 3.9 to the test matrix?

tomMoral commented 3 years ago

Seems like a good idea.

rprimet commented 3 years ago

(note : as of today, mpi4py needs to be installed from the conda-forge channel for python 3.9 support)

tomMoral commented 3 years ago

Oh, interesting. Do you have a link to the source of the info? (Just curious why)

rprimet commented 3 years ago

The current release is 3.0.3 for both the "main" conda channel and conda-forge.

But, it seems that the specs on the "main" channel require python < 3.9, maybe because the current mpi4py package release is over a year old on the main channel?

romain@plume:~/inria/csc/dicodile$ conda install mpi4py
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: - 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed                                                                                                                                                                     

UnsatisfiableError: The following specifications were found
to be incompatible with the existing python installation in your environment:

Specifications:

  - mpi4py -> python[version='>=2.7,<2.8.0a0|>=3.7,<3.8.0a0|>=3.8,<3.9.0a0|>=3.6,<3.7.0a0']

Your python: python=3.9

If python is on the left-most side of the chain, that's the version you've asked for.
When python appears to the right, that indicates that the thing on the left is somehow
not available for the python version you are constrained to. Note that conda will not
change your python version to a different minor version unless you explicitly specify
that.