Skip to content

Conversation

@larsoner
Copy link
Member

@larsoner larsoner commented Dec 6, 2022

Closes #11355

Let's see if it works

Copy link
Member

@hoechenberger hoechenberger left a comment

Choose a reason for hiding this comment

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

Nice! Let's hope it goes green

@hoechenberger hoechenberger enabled auto-merge (squash) December 6, 2022 13:48
@larsoner
Copy link
Member Author

larsoner commented Dec 6, 2022

A "fun" little rabbit hole -- conflict is between vtk 9.2 and OpenMEEG 2.5.5. Looks like the former uses HDF5 1.12.2 and the latter only built with 1.12.1... which forces use of VTK 9.1, which has no proper osmesa version (or it's not as easy to use).

If conda-forge/openmeeg-feedstock#40 works I'll merge, then in a couple of hours test locally that things work, then push a commit here. We should see VTK 9.2.2 in all conda-forge builds after this rather than 9.1, which will be nice.

@larsoner
Copy link
Member Author

larsoner commented Dec 6, 2022

Okay I think we can't just use our built-in file because Qt causes an abort when we try to instantiate it:

mne/viz/utils.py::mne.viz.utils.centers_to_edges PASSED                  [  1%]
qt.qpa.xcb: could not connect to display 
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, minimal, minimalegl, offscreen, vnc, webgl, xcb.

Fatal Python error: Aborted

we could maybe try to detect this but it seems fragile. The same problem will occur if people accidentally try to use mne-qt-browser or matplotlib with the Qt backend, etc.

The simplest solution seems to be to keep the separate server_environment.yml file and keep it up to date with environment.yml, except for removing things that depend on Qt (removing pyvistaqt, mne-qt-browser, etc. from the file; changing mne and matplotlib to their -base variants).

@larsoner larsoner changed the title MAINT: Simplify server installation instructions MAINT: Update server environment Dec 6, 2022
@larsoner
Copy link
Member Author

larsoner commented Dec 6, 2022

... @hoechenberger for your docker instance, though, another option would be to use environment.yml but make sure you have Xvfb running in the background

@larsoner
Copy link
Member Author

larsoner commented Dec 6, 2022

Okay I tried adding some infrastructure for detecting bad Qt and notebook setups, hopefully this makes the NB run pass, and we can indeed delete the server_environment.yml. We'll see 🤞

@larsoner
Copy link
Member Author

larsoner commented Dec 6, 2022

Seems to be working, @drammock feel free to mark for merge if you're happy with this approach

@hoechenberger hoechenberger merged commit 306b311 into mne-tools:main Dec 6, 2022
@larsoner larsoner deleted the server branch December 6, 2022 20:07
@hoechenberger
Copy link
Member

Yay!

@drammock i had automerge activated, please feel free to revert if you're not happy with this PR!

larsoner added a commit to britta-wstnr/mne-python that referenced this pull request Dec 8, 2022
* upstream/main:
  ENH: Add webp support to Report (mne-tools#11359)
  ENH: More complete report repr (mne-tools#11357)
  MAINT: Simplify server installation instructions (mne-tools#11356)
  BUG: Fix where report replacement did not respect section (mne-tools#11346)
  [DOC] Fix video link for coregistration (mne-tools#11354)
larsoner added a commit to ealtamir/mne-python that referenced this pull request Dec 8, 2022
* upstream/main:
  ENH: Add webp support to Report (mne-tools#11359)
  ENH: More complete report repr (mne-tools#11357)
  MAINT: Simplify server installation instructions (mne-tools#11356)
  BUG: Fix where report replacement did not respect section (mne-tools#11346)
  [DOC] Fix video link for coregistration (mne-tools#11354)
  Revert "[ENH] Add tutorial on time-frequency source estimation with STC viewer GUI" (mne-tools#11350)
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.

Do we still need separate environment specification files for "normal" and "headless server" installations?

2 participants