Opened 6 years ago
Last modified 5 years ago
#57823 closed enhancement
py-qtpy: allow py-pyside2 instead of py-pyqt5 — at Version 5
Reported by: | chrstphrchvz (Christopher Chavez) | Owned by: | eborisch (Eric A. Borisch) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | mamoll (Mark Moll), pmetzger (Perry E. Metzger), MarcusCalhoun-Lopez (Marcus Calhoun-Lopez), reneeotten (Renee Otten) | |
Port: | py-qtpy py-pyqt5 py-pyside2 |
Description (last modified by chrstphrchvz (Christopher Chavez))
Since QtPy supports PySide2 (which is now Qt's official bindings for Python) in addition to PyQt5, should it be possible for the py-qtpy
port (as well as any ports using it, e.g. Spyder) to allow py-pyside2
as a substitute for py-pyqt5
? I am not an expert on their differences, nor do I have any preference that PySide2 become MacPorts' default over PyQt5.
If so, I imagine adding a variant qtpy +pyside2
would be the approach for this (similar to what py-matplotlib
has, though it doesn't use QtPy). However if the py-qtpy
port is what ensures a Qt backend is installed, should that dependency then be removed from ports depending on qtpy (, or is the PyQt5 dependency used to ensure a Qt5 backend is present—i.e. when Qt4 can't be used?
spyder
and spyder-devel
)
Change History (5)
comment:1 Changed 6 years ago by mf2k (Frank Schima)
Cc: | mamoll pmetzger MarcusCalhoun-Lopez reneeotten added |
---|---|
Owner: | set to eborisch |
Status: | new → assigned |
comment:2 Changed 6 years ago by reneeotten (Renee Otten)
comment:3 Changed 6 years ago by mf2k (Frank Schima)
Perhaps sub-ports can be made. So for example, create a new (sub-)port for py-qtpyside or maybe call it py-qtpy-pyside - which has too many "py"s for my liking.
comment:4 Changed 6 years ago by eborisch (Eric A. Borisch)
Since qtpy doesn't actually need any of these to be in place to be "compiled" and installed, perhaps we just remove all *qt* dependencies from qtpy, and have it note on install that it provides an interface layer, but one of x, y, or z needs to be installed to be of any use, and let ports that actually use qtpy decide for themselves (through variants, or supports) what underlying implementation (pyside2, pyqt4, etc.) is depended upon.
Edit: fixed s/pyside/qtpy/ typo
comment:5 Changed 6 years ago by chrstphrchvz (Christopher Chavez)
Description: | modified (diff) |
---|---|
Port: | py-spyder py-spyder-devel removed |
Never mind about having Spyder ports use PySide2; upstream has decided to not support it for the time being: https://github.com/spyder-ide/spyder/issues/6894.
If nothing using QtPy currently "needs"/"really should have" PySide2 as an alternative to PyQt5, then I don't mind this being closed or put off indefinitely/wishlisted. I intended this more as a suggestion in case it were trivial to add, but it sounds like that's definitely not the case.
A while back I opened a PR2615 to add variants for the different backends. Admittedly, there were some issues with my suggested changes in that PR, but the idea of adding variants was not met with much enthusiasm. I am not against looking at this again, but I am not sure whether @eborisch has changed his opinion on this (at least the comments in the abovementioned PR should be kept in mind).