-
-
Notifications
You must be signed in to change notification settings - Fork 11
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
ENH: Allow selecting Qt bindings using build selectors #136
Conversation
@conda-forge-admin, please rerender |
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
…nda-forge-pinning 2024.07.04.12.04.07
@larsoner I think we should depend on pyside6, actually, as soon as the interactive plotting problem has been fixed in fact i believe this is a change we should do upstream in MNE too also i wonder if there is something like a python-qt-bindings meta package on conda-forge? for when (if) pyqt6 lands FWIW mnelab requires pyside6 installing MNE without a qt binding i would actually consider a packaging bug as users would end up with an incomplete install cc @cbrnr |
Not all packages have gotten rid of their pyqt dependency. For example spyder and matplotlib both still depend on it. So changing our recipe to depend explicitly on pyside6 we'll run into concurrent qt-main + qt6-main installation issues like we're currently hitting in mne-installers (and hit a couple of weeks ago in MNE-Python). So I think someday sure we should change it to |
In that case I'd suggest we'd better hold off merging this PR |
They could install that or pyside6 (but in that case, don't install Spyder). What this PR does is give users a choice... but also forces them to make a choice. |
Bot you said matplotlib also depends on pyqt(5), so it's not really a choice at this time for many (mist?) users |
In the meantime I'm pushing a less controversial change to add a |
But would anyone actually want to do that if they then cannot really use matplotlib? |
You mean the I think we need to be explicit about what's meant by "matplotlib" -- if we're talking about the
a user would have a fully functional conda env with fully functional matplotlib and PySide6 libraries. They would not have the So above when I said:
I meant not all conda-forge packages / recipes, not the underlying Python libraries themselves. Matplotlib as a Python library works perfectly well with PySide6 and does not depend on PyQt, but their conda-forge recipe/package |
Ah, thanks, my misunderstanding was that I thought that matplotlib-base wouldn't work with pyside6 do you think that instead of providing separate packages, we could do something like "build variants" with varying deps? basically employing the mechanism that allows users to switch between BLAS implementations, only here we want to give them the choice of different qt bindings we'd probably need to as conda-forge staff for help |
…nda-forge-pinning 2024.06.20.13.28.05
you are incredible, eric! |
Hah, let's see if it works first! If it does then we can merge then try using the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💪
Shall we do something similar with mne-qt-browser? we could then even use the selectors in this recipe here and pick the correct mne-qt-browser variant conditionally such that MNE's and the Qt browser's Qt bindings match |
Hopefully everything will just work with |
@cbrnr the conda-forge packages are called pyqt (for PyQt5) and pyside6 (for PySide6) there are no pyqt6 packages yet |
Ah OK, I had a feeling that it's the conda packages that are inconsistent ( |
yep I think this is what will happen! 🤞 |
Checklist
Reset the build number to0
(if the version changed)conda-smithy
(Use the phrase@conda-forge-admin, please rerender
in a comment in this PR for automated rerendering)I'm not convinced we should require
pyqt
in ourmne
base recipe. It seems like people should nowadays choose between installingpyqt
(Qt5) orpyside6
(Qt6) when doingconda install mne
. WDYT @hoechenberger ?