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

Testing omnia #103

Open
jchodera opened this issue Jan 11, 2015 · 27 comments
Open

Testing omnia #103

jchodera opened this issue Jan 11, 2015 · 27 comments

Comments

@jchodera
Copy link
Member

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
Copy link
Member Author

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
Copy link
Contributor

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
Copy link
Member Author

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
Copy link
Contributor

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
Copy link
Contributor

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
Copy link
Member Author

Try it on a Mac.

@jchodera
Copy link
Member Author

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

@jchodera
Copy link
Member Author

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

@kyleabeauchamp
Copy link
Contributor

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

@rmcgibbo
Copy link
Contributor

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

@rmcgibbo
Copy link
Contributor

Unclear to me why py34 is prefered though.

@rmcgibbo
Copy link
Contributor

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
Copy link
Member Author

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

@rmcgibbo
Copy link
Contributor

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
Copy link
Member Author

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

@jchodera
Copy link
Member Author

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
Copy link
Contributor

LOLLL.

@kyleabeauchamp
Copy link
Contributor

This is expected because of pymbar
On Jan 15, 2015 5:00 PM, "John Chodera" [email protected] 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
#103 (comment)
.

@rmcgibbo
Copy link
Contributor

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

@mpharrigan
Copy link
Contributor

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
Copy link
Contributor

My guess is it may depend on whether you use a new or default environment?
On Jan 15, 2015 5:16 PM, "Matthew Harrigan" [email protected]
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
#103 (comment)
.

@rmcgibbo
Copy link
Contributor

Options

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

@kyleabeauchamp
Copy link
Contributor

Emma also has py3k issues.

On Thu, Jan 15, 2015 at 5:22 PM, Robert T. McGibbon <
[email protected]> 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
#103 (comment)
.

@rmcgibbo
Copy link
Contributor

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

@rmcgibbo
Copy link
Contributor

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
Copy link
Contributor

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 <
[email protected]> 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
#103 (comment)
.

@rmcgibbo
Copy link
Contributor

I see.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants