omnia-md / conda-recipes

conda build recipes for the Omnia project
http://omnia.md
MIT License
24 stars 37 forks source link

Testing omnia #103

Open jchodera opened 9 years ago

jchodera commented 9 years ago

I've started to build a preliminary Jenkins-based omnia test: https://jenkins.choderalab.org/job/test-conda-omnia-release-osx/

It creates a fresh miniconda installation and cycles through python 2.7, 3.3, and 3.4, creating a conda environment for each in which it attempts to install omnia. We can add some simple import packagename tests too.

More generally, how should we actually test omnia? I think @frabjous5 was putting together some IPython notebooks that show off how to use multiple components of omnia together---can we use these as test scripts?

jchodera commented 9 years ago

I have a Jenkins test set up that tries to create conda environments for Python 2.7, 3.3, and 3.4, installing omnia in each.

The test gets as far as creating the 2.7 environment and trying to install omnia, but it tries to install the 3.4 versions of everything: https://jenkins.choderalab.org/job/test-conda-omnia-release-osx/15/console

I think this is because the omnia metapackage does not have an explicit Python version dependency: https://binstar.org/omnia/omnia/files

kyleabeauchamp commented 9 years ago

The omnia metapackage includes pymbar, which prevents installation on py3X. I think the best immediate plan is to edit the omnia metapackage to:

  1. Remove pymbar
  2. Include emma
jchodera commented 9 years ago

I'm not sure that's the problem. If it were, it would install the python 2.7 versions of everything. Currently the omnia package only tries to install the Python 3.4 version of everything.

kyleabeauchamp commented 9 years ago

AFAIK, I think the plan was to punt on py3K support for 1.0 (only for the metapackage). We should still build the various binaries for all python versions.

kyleabeauchamp commented 9 years ago

So when I try to install, I do not get any prompt to upgrade python:

conda install -c https://conda.binstar.org/omnia omnia
Fetching package metadata: ....
Solving package specifications: .
Package plan for installation in environment /home/kyleb/opt:

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    pytables-3.1.1             |       np19py27_2         3.2 MB
    msmbuilder-3.0.0           |       np19py27_0         2.4 MB
    omnia-1.0                  |                0           1 KB
    ------------------------------------------------------------
                                           Total:         5.5 MB

The following NEW packages will be INSTALLED:

    mdtraj:     1.2.0-np19py27_0
    msmbuilder: 3.0.0-np19py27_0
    omnia:      1.0-0           
    scripttest: 1.3-py27_0      

The following packages will be UPDATED:

    hdf5:       1.8.13-1         --> 1.8.14-0        
    openmm:     6.2-py27_0       --> 6.2-py27_1      
    pytables:   3.1.1-np19py27_1 --> 3.1.1-np19py27_2
    setuptools: 7.0-py27_0       --> 11.3.1-py27_0   
    six:        1.8.0-py27_0     --> 1.9.0-py27_0    
jchodera commented 9 years ago

Try it on a Mac.

jchodera commented 9 years ago

By "punt on Python 3k", do you mean 3.x versions?

jchodera commented 9 years ago

If so, we should rebuild omnia explicitly using Python 2.7 at the end of each Jenkins build.

kyleabeauchamp commented 9 years ago

So I'm on my linux Desktop for now, so we'll need someone else to look into reproducing the OSX behavior.

rmcgibbo commented 9 years ago

On os-x, conda install python=2.7 omnia seems to get the py2 version of everything.

rmcgibbo commented 9 years ago

Unclear to me why py34 is prefered though.

rmcgibbo commented 9 years ago

I'm not sure that's the problem. If it were, it would install the python 2.7 versions of everything. Currently the omnia package only tries to install the Python 3.4 version of everything.

I believe I have fixed this.

jchodera commented 9 years ago

What was required for the fix? Did you do a PR?

rmcgibbo commented 9 years ago

No. I removed a broken file from https://binstar.org/omnia/pymbar/files. It was sorting higher, but didn't have a version of python declared.

jchodera commented 9 years ago

Ah, I see your comment in #125 now---thanks!

jchodera commented 9 years ago

Huh. Now we're downgrading everything to Python 2.7 when trying to install in a 3.x environment: https://jenkins.choderalab.org/job/test-conda-omnia-release-osx/16/console

+ echo ===================
===================
+ echo 'Installing omnia...'
Installing omnia...
+ echo ===================
===================
+ conda config --add channels https://conda.binstar.org/omnia
Skipping channels: https://conda.binstar.org/omnia, item already exists
+ conda install --quiet --yes omnia
Fetching package metadata: ...
Solving package specifications: .
Package plan for installation in environment /Users/jenkins-slave/workspace/test-conda-omnia-release-osx/miniconda/envs/python-3.3:

The following NEW packages will be INSTALLED:

    dateutil:     2.1-py27_2         
    docutils:     0.12-py27_0        
    fftw3f:       3.3.3-1            
    hdf5:         1.8.14-0           
    jinja2:       2.7.3-py27_1       
    markupsafe:   0.23-py27_0        
    mdtraj:       1.2.0-np19py27_0   
    msmbuilder:   3.0.0-np19py27_0   
    nose:         1.3.4-py27_0       
    numexpr:      2.3.1-np19py27_0   
    numpy:        1.9.1-py27_0       
    numpydoc:     0.5-py27_0         
    omnia:        1.0-0              
    openmm:       6.2-py27_1         
    pandas:       0.15.2-np19py27_0  
    pdbfixer:     1.1-np19py27_0     
    pygments:     1.6-py27_0         
    pymbar:       2.1beta0-np19py27_0
    pytables:     3.1.1-np19py27_2   
    pytz:         2014.9-py27_0      
    scikit-learn: 0.15.2-np19py27_0  
    scipy:        0.15.0-np19py27_0  
    scripttest:   1.3-py27_0         
    setuptools:   11.3.1-py27_0      
    six:          1.9.0-py27_0       
    sphinx:       1.2.3-py27_0       

The following packages will be DOWNGRADED:

    python:       3.3.5-3 --> 2.7.9-1   
rmcgibbo commented 9 years ago

LOLLL.

kyleabeauchamp commented 9 years ago

This is expected because of pymbar On Jan 15, 2015 5:00 PM, "John Chodera" notifications@github.com wrote:

Huh. Now we're downgrading everything to Python 2.7 when trying to install in a 3.x environment: https://jenkins.choderalab.org/job/test-conda-omnia-release-osx/16/console

+ echo ===================

  • echo 'Installing omnia...' Installing omnia...

+ echo ===================

  • conda config --add channels https://conda.binstar.org/omnia Skipping channels: https://conda.binstar.org/omnia, item already exists
  • conda install --quiet --yes omnia Fetching package metadata: ... Solving package specifications: . Package plan for installation in environment /Users/jenkins-slave/workspace/test-conda-omnia-release-osx/miniconda/envs/python-3.3:

The following NEW packages will be INSTALLED:

dateutil:     2.1-py27_2
docutils:     0.12-py27_0
fftw3f:       3.3.3-1
hdf5:         1.8.14-0
jinja2:       2.7.3-py27_1
markupsafe:   0.23-py27_0
mdtraj:       1.2.0-np19py27_0
msmbuilder:   3.0.0-np19py27_0
nose:         1.3.4-py27_0
numexpr:      2.3.1-np19py27_0
numpy:        1.9.1-py27_0
numpydoc:     0.5-py27_0
omnia:        1.0-0
openmm:       6.2-py27_1
pandas:       0.15.2-np19py27_0
pdbfixer:     1.1-np19py27_0
pygments:     1.6-py27_0
pymbar:       2.1beta0-np19py27_0
pytables:     3.1.1-np19py27_2
pytz:         2014.9-py27_0
scikit-learn: 0.15.2-np19py27_0
scipy:        0.15.0-np19py27_0
scripttest:   1.3-py27_0
setuptools:   11.3.1-py27_0
six:          1.9.0-py27_0
sphinx:       1.2.3-py27_0

The following packages will be DOWNGRADED:

python:       3.3.5-3 --> 2.7.9-1

— Reply to this email directly or view it on GitHub https://github.com/omnia-md/conda-recipes/issues/103#issuecomment-70170449 .

rmcgibbo commented 9 years ago

Maybe this is the expected behavior, given that omnia requires pymbar, which hard-requires py27.

mpharrigan commented 9 years ago

I've tried to install packages with conda before that don't have a py34 version and it just says "unsatisfiable dependency" rather than uninstalling my version of python

kyleabeauchamp commented 9 years ago

My guess is it may depend on whether you use a new or default environment? On Jan 15, 2015 5:16 PM, "Matthew Harrigan" notifications@github.com wrote:

I've tried to install packages with conda before that don't have a py34 version and it just says "unsatisfiable dependency" rather than uninstalling my version of python

— Reply to this email directly or view it on GitHub https://github.com/omnia-md/conda-recipes/issues/103#issuecomment-70172946 .

rmcgibbo commented 9 years ago

Options

kyleabeauchamp commented 9 years ago

Emma also has py3k issues.

On Thu, Jan 15, 2015 at 5:22 PM, Robert T. McGibbon < notifications@github.com> wrote:

Options

  • Remove pymbar from omnia metapackage
  • Fix whatever the py3k issues in pymbar are. I bet they're just a couple syntax issues.

— Reply to this email directly or view it on GitHub https://github.com/omnia-md/conda-recipes/issues/103#issuecomment-70173783 .

rmcgibbo commented 9 years ago

Yeah, but it's not part of the current recipe for the omnia metapackage, so for this it doesn't matter.

rmcgibbo commented 9 years ago

It looks like the current master branch of pymbar is tested on py34. Why not just cut another beta release, and then this will be fixed?

kyleabeauchamp commented 9 years ago

2.1 beta is really not beta--it's the stable release. Whereas master needs a lot more testing.

On Thu, Jan 15, 2015 at 5:41 PM, Robert T. McGibbon < notifications@github.com> wrote:

It looks like the current master branch of pymbar is tested on py34. Why not just cut another beta release, and then this will be fixed?

— Reply to this email directly or view it on GitHub https://github.com/omnia-md/conda-recipes/issues/103#issuecomment-70176609 .

rmcgibbo commented 9 years ago

I see.