markovmodel / PyEMMA

🚂 Python API for Emma's Markov Model Algorithms 🚂
http://pyemma.org
GNU Lesser General Public License v3.0
307 stars 118 forks source link

conda installation with strict-channel-priority and Py 3.5 fails #1419

Closed dwhswenson closed 5 years ago

dwhswenson commented 5 years ago

For some reason, PyEMMA no longer installs on Python 3.5 with the conda option --strict-channel-priority. I caught this because OpenPathSampling still tests against Py3.5.

This may somehow be related to the 2.5.6 release, although I honestly don't understand why. However, the first error coincides with that release. Relevant OPS test logs:

Conda versions don't change between those.

I can reproduce it on a Linux box with conda 4.6.14:

$ conda create -n test-py35-pyemma -c conda-forge --strict-channel-priority python=3.5 pyemma
Collecting package metadata: done
Solving environment: failed

UnsatisfiableError: The following specifications were found to be in conflict:
  - pyemma
  - python=3.5
Use "conda search <package> --info" to see the dependencies for each package.

We use strict priority to speed up the environment solving process. I disabled that for our Python 3.5 tests, and that seems to solve the problem. Soon we'll stop testing 3.5 anyway. I know you don't build for 3.5 anymore, but I thought the idea was that old builds should still install. That behavior changed for us a few days ago.

This may, in the end, be a conda issue (I have no idea how your release could have affected this). But I didn't see any version changes between first broken and last working builds, and it corresponds to the 2.5.6 release date. Workarounds are to upgrade to Python 3.6+ or to turn off strict channel priority.

marscher commented 5 years ago

Conda-Forge has deprecated Python 3.5 same as upstream, see https://conda-forge.org/docs/user/announcements.html#id2

I'd advice to drop 3.5 from your build matrix.

marscher commented 5 years ago

You could also pin pyemma to '<2.5.6', I think this will try to enforce a newer Python version