choderalab / msm-pipeline

A pipeline for MSMs.
GNU Lesser General Public License v3.0
2 stars 5 forks source link

pyemma downgraded when using conda install --yes --use-local msmpipeline #34

Open sonyahanson opened 7 years ago

sonyahanson commented 7 years ago

Also not urgent.

My pyemma downgraded when using conda install --yes --use-local msmpipeline, which resulted in the return of an error I had been getting months ago before upgrading pyemma:

AttributeError: 'NoneType' object has no attribute 'xyz'

It's not clear to me why this would happen or why it wouldn't disrupt the travis build?

Everything works fine when I do conda install pyemma=2.2.2.

-bash-4.1$ conda install --yes --use-local msmpipeline
Fetching package metadata ...............
Solving package specifications: ..........

Package plan for installation in environment /cbio/jclab/home/hansons/opt/anaconda:

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    numpy-1.9.3                |           py27_2         5.7 MB
    scipy-0.17.0               |       np19py27_1        29.6 MB
    ------------------------------------------------------------
                                           Total:        35.3 MB

The following NEW packages will be INSTALLED:

    msmpipeline:  0.0.1-np19py27_0   local

The following packages will be UPDATED:

    bhmm:         0.6.1-np110py27_0  omnia --> 0.6.1-np19py27_0  omnia
    matplotlib:   1.4.3-np110py27_2        --> 1.4.3-np19py27_2       
    mdtraj:       1.7.2-np110py27_0  omnia --> 1.7.2-np19py27_0  omnia
    msmbuilder:   3.4.0-np110py27_0  omnia --> 3.4.0-np19py27_0  omnia
    pyhmc:        0.1.2-np110py27_1  omnia --> 0.1.2-np19py27_1  omnia
    scikit-learn: 0.16.1-np110py27_0       --> 0.16.1-np19py27_0      
    scipy:        0.17.0-np110py27_1       --> 0.17.0-np19py27_1      
    thermotools:  0.2.0-np110py27_0  omnia --> 0.2.0-np19py27_0  omnia

The following packages will be DOWNGRADED due to dependency conflicts:

    numexpr:      2.5-np110py27_0          --> 2.4.4-np19py27_0       
    numpy:        1.10.4-py27_1            --> 1.9.3-py27_2           
    pandas:       0.18.0-np110py27_0       --> 0.17.1-np19py27_0      
    pyemma:       2.2.2-np110py27_0  omnia --> 2.1.1-np19py27_0  omnia
    pytables:     3.2.2-np110py27_1        --> 3.2.2-np19py27_0    
jchodera commented 7 years ago

Did you rebuild your project first? The --uselocal flag uses whatever cached build you had in your conda directory.

I think you mean have to conda clean first:

conda clean -pltis --yes
conda build devtools/conda-recipe
conda install --yes --use-local msmpipeline
sonyahanson commented 7 years ago

This did not fix the problem. Notice that pyemma is actively downgraded by conda install --yes --use-local msmpipeline, which is strange based on what --use-local is supposed to do.

jchodera commented 7 years ago

Can you give the exact sequence of commands you used?

jchodera commented 7 years ago

On my laptop, this sequence of commands results in the latest pyemma (2.2.6)

conda clean -pltis --yes
conda build devtools/conda-recipe
conda install --yes --use-local msmpipeline

here's the last bit of output:

[LSKI1497:choderalab/msm-pipeline/msm-pipeline.choderalab] choderaj% conda install --yes --use-local msmpipeline
Fetching package metadata ...............
Solving package specifications: ..........

Package plan for installation in environment /Users/choderaj/miniconda:

The following NEW packages will be INSTALLED:

    msmpipeline:       0.0.1-py27_0      local
    progress_reporter: 1.2-py_1          omnia
    pyemma:            2.2.6-np111py27_0 omnia

Linking packages ...
[      COMPLETE      ]|##################################################################################################################################################################| 100%

Checking the version:

[LSKI1497:choderalab/msm-pipeline/msm-pipeline.choderalab] choderaj% conda list | grep pyemma
pyemma                    2.2.6               np111py27_0    omnia

Are you sure you haven't still got something installed via pip after the conda clean -pltis --yes? If not, maybe try reinstalling miniconda?

jchodera commented 7 years ago

Ah, I've got it. omnia is no longer building for numpy 1.9. Since you have numpy 1.9 installed, and because the conda recipe for msmpipeline doesn't require a specific version of pyemma (which means any version is fine), you're not getting the latest pyemma.

@maxentile : Do we need a specific minimum version of pyemma? If so, we should enforce this as a constraint in the conda recipe.

sonyahanson commented 7 years ago

I had numpy 1.10 installed and it downgraded it to numpy 1.9.

maxentile commented 7 years ago

Sorry for my delayed response! I'm not sure of a minimum version of pyemma to require. Can we just pin to the most recent release now, pyemma>=2.2.5?