Closed moorepants closed 2 months ago
conda create -n yeadon-test yeadon mayavi pyqt
also allows the app to run, so I guess it is related to the missing pyqt dependency instead of dropping the pin.
Yeah the idea is that mayavi (maybe) shouldn't choose which Qt you want to use. Because it also works with PySide6, you could also do
conda install mayavi pyside6
for example. And installing pyside6 and pyqt5 simultaneously is problematic on some systems, so removing it as a dependency a reasonable way to get a choice between the two. The downside is that it does force a choice.
Another less invasive option than #82 would be to add a mayavi-base package without pyqt5 and restore the mayavi package to what it was. Or another option would be to use build variants like vtk does for example. Maybe either of those is a better choice since it's more backward compatible.
I guess in this case it would be helpful if conda has some kind of way to check to make sure 1 of n backends are installed and if not, pick a default choice to install.
I guess in this case it would be helpful if conda has some kind of way to check to make sure 1 of n backends are installed and if not, pick a default choice to install.
Agreed! I don't know of anything like that but we could use build variants. #84 for example should make it so that (once merged and deployed etc.) you can do conda install mayavi
to get mayavi + pyqt as before (i.e., fix the regression), or conda install mayavi=*=*pyside6
to get the pyside6 variant if you want to use pyside6 (i.e., add the enhancement of there being some way to safely use mayavi with PySide6). There's no difference in the mayavi functionality or code, just in what its run
requirements are in the package.
That looks like the appropriate solution. Thanks!
I just tried this:
$ conda create -n yeadon-test yeadon mayavi=*=*pyside6
Channels:
- conda-forge
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: failed
PackagesNotFoundError: The following packages are not available from current channels:
- mayavi=[build=*pyside6]
Current channels:
- https://conda.anaconda.org/conda-forge
To search for alternate channels that may provide the conda package you're
looking for, navigate to
https://anaconda.org
and use the search bar at the top of the page.
Sorry my suggestion was wrong -- try mayavi=*=pyside6*
, it should work. The star needs to be to the right since the build string is for example pyside6_py312h9ed9eab_104
.
$ conda create -n mayavi mayavi=*=pyside6_*
Channels:
- conda-forge
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /home/larsoner/mne-python/1.6.0_0/envs/mayavi
added / updated specs:
- mayavi[build=pyside6_*]
The following packages will be downloaded:
package | build
---------------------------|-----------------
...
That works, thanks!
Solution to issue cannot be found in the documentation.
Issue
The package yeadon has a mayavi app included. If I do:
and try to open the app I get this error:
If I then do:
The app runs as expected.
PR #82 removed the pyqt pin.
Also reported here: https://github.com/conda-forge/yeadon-feedstock/issues/25
I may need to report this to MayaVi. Maybe the support for PyQt6 is not fully tested or something.
Installed packages
Environment info