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

[WIP] add conda env file #4523

Closed
wants to merge 31 commits into from
Closed

Conversation

agramfort
Copy link
Member

@agramfort agramfort commented Aug 31, 2017

it would be nice to test this file in our CIs

then we would just recommend to do:

conda env create -f environment.yml

to install a working MNE environment.

EDIT: DO NOT MERGE, need to figure out how to fix traitsui so we don't need to skip those tests.

environment.yml Outdated
- sphinx
- sphinx_bootstrap_theme
- numpydoc
- sphinx-gallery
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also needs nilearn

I can push and make Travis use this sometime today hopefully

Actually we should make ci-helpers support this

@larsoner
Copy link
Member

See astropy/ci-helpers#232

@codecov-io
Copy link

codecov-io commented Aug 31, 2017

Codecov Report

Merging #4523 into master will decrease coverage by 69.25%.
The diff coverage is 88.88%.

@@             Coverage Diff             @@
##           master    #4523       +/-   ##
===========================================
- Coverage   83.61%   14.35%   -69.26%     
===========================================
  Files         349      349               
  Lines       65439    65463       +24     
  Branches    10155    10152        -3     
===========================================
- Hits        54715     9397    -45318     
- Misses       7849    55822    +47973     
+ Partials     2875      244     -2631

@larsoner
Copy link
Member

... and now astropy/ci-helpers#233

@larsoner
Copy link
Member

@agramfort the current version doesn't work because of conflicts.

Even doing:

conda create -n test2 python=3.6
source activate test2
conda install -c menpo menpo numpy scipy matplotlib mayavi

I get the conflict. Can you get one to work?

I ask because once we have a working env we can probably do conda env export to get the right yml file, or at least something close.

If you have Py3k + Mayavi in an env, can you try the command to see what the yml file looks like, maybe paste it somewhere?

@ktavabi
Copy link
Contributor

ktavabi commented Aug 31, 2017

Question about this approach. Is the recommendation to install mne-python stable or development version in the virtualenv?
If it helps at all I have a 2.7 env file that works without any of the backend or Mayavi excitement. But I see you guys are transitioning to 3.6.

@larsoner
Copy link
Member

Stable is the recommended version for users

Hold off on sharing the file for now, I want to see if we can get 3.6 to work

@ktavabi
Copy link
Contributor

ktavabi commented Aug 31, 2017

Thanks, @larsoner FUQ do you know if it's possible to use different dev branches across different virtual envs?

@larsoner
Copy link
Member

Not that I know of when using a single directory, but you could always git clone to two different directories like and python setup.py develop from each of them as desired

@agramfort
Copy link
Member Author

I just pushed a working env for osx

can someone try it on linux?

@larsoner
Copy link
Member

larsoner commented Sep 1, 2017

Yes I can try today. astropy/ci-helpers#233 is merged so I can then try to get a Travis build running with it.

@agramfort
Copy link
Member Author

agramfort commented Sep 1, 2017 via email

@larsoner
Copy link
Member

larsoner commented Sep 1, 2017

Other than the hilarious error ModuleNotFoundError: No module named 'mne' the env works. I'll try making Travis use it

@agramfort
Copy link
Member Author

agramfort commented Sep 1, 2017 via email

@larsoner
Copy link
Member

larsoner commented Sep 1, 2017

yeah I did not include it for travis :)

The python setup.py develop should take precedence I think. We'll find out...

@larsoner larsoner force-pushed the condaenv branch 2 times, most recently from 227f367 to ad9c540 Compare September 1, 2017 15:43
appveyor.yml Outdated
@@ -1,8 +1,7 @@
environment:
global:
PYTHON: "C:\\conda"
CONDA_DEPENDENCIES: "setuptools numpy scipy matplotlib scikit-learn mayavi pandas h5py PIL pyside pytest"
PIP_DEPENDENCIES: "git+git://github.com/nipy/PySurfer.git nibabel nitime nose-timer nose-faulthandler pytest-attrib"
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we don't need nitime nose-timer nose-faulthandler anymore?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we don't use nose anymore

@larsoner
Copy link
Member

larsoner commented Sep 1, 2017

had to rebase to master to resolve conflicts

@larsoner larsoner force-pushed the condaenv branch 4 times, most recently from 2173a17 to 163d21d Compare September 1, 2017 21:21
@larsoner
Copy link
Member

larsoner commented Sep 1, 2017

The GUI stuff doesn't work because of a Py3k bug in traitsui, but when I update it to use pip it doesn't fix it, and when I update to git master, it breaks in a different way. So we're a bit stuck.

In other words, pytest mne/gui/ fails, so @agramfort you have a broken env :(

@larsoner
Copy link
Member

larsoner commented Sep 1, 2017

(but other than that, this should be working at this point)

@larsoner
Copy link
Member

larsoner commented Sep 1, 2017

Pushed a commit that should skip those tests (which is not good) to at least see if we can find green

@larsoner
Copy link
Member

larsoner commented Sep 7, 2017

Keeping track of sklearn versions and API changes is a bit of a nightmare

@larsoner larsoner force-pushed the condaenv branch 2 times, most recently from 7e81626 to c0ff970 Compare September 7, 2017 02:08
@larsoner
Copy link
Member

larsoner commented Sep 7, 2017

@agramfort the environment2.yml seems to have a problem on Windows -- it installs sklearn 0.16, which means most new stuff in decoding can't be used :(

It also just crashes (without any output!) on Travis. I'm a bit stuck.

@larsoner
Copy link
Member

larsoner commented Sep 7, 2017

Apparently environment3.yml has the same problem on Windows

@larsoner
Copy link
Member

larsoner commented Sep 7, 2017

... but when I use conda env create -f environment3.yml on my Windows VM it uses sklearn 0.19. I don't get it.

@larsoner
Copy link
Member

larsoner commented Sep 7, 2017

Scratch that, it's just the 2.7 env that has sklearn 0.16, the 3.6 env has 0.19

@larsoner
Copy link
Member

larsoner commented Sep 8, 2017

There is enthought/mayavi#528, so maybe we have a chance at PyQt5 (which was holding back matplotlib)

@agramfort
Copy link
Member Author

@larsoner can you split the pytest migration and the datetime fix to other PRs to help us review.

then it will "just" be changes in CIs scripts.

thanks a lot

@larsoner
Copy link
Member

larsoner commented Sep 8, 2017

can you split the pytest migration and the datetime fix to other PRs to help us review.

Sure, hopefully this weekend but maybe not until Monday

@larsoner
Copy link
Member

@agramfort I'll start a new PR once the other changes are merged.

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

Successfully merging this pull request may close these issues.

6 participants