Open jchodera opened 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
The omnia metapackage includes pymbar, which prevents installation on py3X. I think the best immediate plan is to edit the omnia metapackage to:
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.
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.
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
Try it on a Mac.
By "punt on Python 3k", do you mean 3.x versions?
If so, we should rebuild omnia
explicitly using Python 2.7 at the end of each Jenkins build.
So I'm on my linux Desktop for now, so we'll need someone else to look into reproducing the OSX behavior.
On os-x, conda install python=2.7 omnia
seems to get the py2 version of everything.
Unclear to me why py34 is prefered though.
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.
What was required for the fix? Did you do a PR?
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.
Ah, I see your comment in #125 now---thanks!
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
LOLLL.
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 .
Maybe this is the expected behavior, given that omnia requires pymbar, which hard-requires py27.
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
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 .
Options
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 .
Yeah, but it's not part of the current recipe for the omnia metapackage, so for this it doesn't matter.
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?
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 .
I see.
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 installomnia
. We can add some simpleimport 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 ofomnia
together---can we use these as test scripts?