FS#41744 - [python-matplotlib] [python2-matplotlib] 1.4.0 not depends on pyqt4, but pyqt5
Attached to Project:
Community Packages
Opened by Thomas King (thomasking0529) - Friday, 29 August 2014, 02:11 GMT
Last edited by Bruno Pagani (ArchangeGabriel) - Sunday, 23 December 2018, 10:37 GMT
Opened by Thomas King (thomasking0529) - Friday, 29 August 2014, 02:11 GMT
Last edited by Bruno Pagani (ArchangeGabriel) - Sunday, 23 December 2018, 10:37 GMT
|
Details
Description:
after pacman -Rdd python-pyqt4, matplotlib just runs but without python-pyqt5, it will not run any more, pyqt5 is not an optional dependency Additional info: Steps to reproduce: from matplotlib import pyplot fig = pyplot.figure() |
This task depends upon
Closed by Bruno Pagani (ArchangeGabriel)
Sunday, 23 December 2018, 10:37 GMT
Reason for closing: Fixed
Additional comments about closing: python-matplotlib 3.0
Sunday, 23 December 2018, 10:37 GMT
Reason for closing: Fixed
Additional comments about closing: python-matplotlib 3.0
I believe we should change the dependency to pyqt5 and leave pyqt4 as optional.
Alternatively we could patch the default backend upon installation.
Btw, I ended up here because python2-matplotlib 1.4.0 from [community-testing] breaks my mnemosyne[2] AUR package (it works fine with python2-matplotlib 1.3.1 from [community]). Mnemosyne is a Python 2 + Qt 4 program, but Matplotlib 1.4.0 seems determined to try and load the PyQt5 libraries, which fails - one way or another - both when python2-pyqt5 is installed, and when it isn't. I'll try to create a minimal testcase later to ensure it isn't somehow Mnemosyne's fault, and then probably create a separate bug report for it. But I thought I'd mention it here for now, in case it is part of a bigger problem with matplotlib 1.4 backend handling.
[1] http://matplotlib.org/1.4.0/users/whats_new.html#backends
[2] https://aur.archlinux.org/packages/mnemosyne/
Btw, matplotlib's INSTALL file [3] lists all GUI frameworks, even Qt4, as optional, so client code is *probably* expected to explicitly request matplotlib to use desired backend and adjust its own dependency accordingly. Arch has previously chosen to satisfy matplotlib's default backend selection as a hard dependency, so the logical step would be to update the dependency from pyqt4 to pyqt5 as mentioned above.
[3]: https://github.com/matplotlib/matplotlib/blob/master/INSTALL#L204
The problem is this installs Qt5 which then becomes the default for other applications by it's presence.
[1] https://github.com/matplotlib/matplotlib/issues/3679
to produce charts to files as well as GUIs. Archlinux by default has no GUI. What's the meaning of making me install one when producing to files is equally valid?
>I don't think Arch is other communities like ubuntu or redhat
This is part of what I understand Arch to be:
https://wiki.archlinux.org/index.php/The_Arch_Way :
"Arch Linux defines simplicity as without unnecessary additions"
"Another guiding principle of Arch Linux development is freedom. Users are not only permitted to make all decisions concerning system configuration, but also choose what their system will be. "
I think you may just want to get a pure and clean linux system. But just like pycuda, it depends on cuda, but just a small subset of cuda's funcions. Don't burden too much on arch community, maybe you should try ubuntu? As I know, at least opencv is splitted to multiple sub-packages, maybe the matplot is treated the same way.
And I don't think you're being constructive telling users to go and use Ubuntu, that's not constructive to the community.
YOU ARE ASKING SOMEONE TO DO EXTRA WORK TO PLEASE YOURSELF. That's why I'm here.
And now, I'll stand by pyqt5, so, Felix Yan, what should he do? Please you? Please me?
Stop this discussion. Wrong thing at wrong time at wrong place.
1- Leave all backends as optional dependencies so the user is warned he or she uninstalls any of them. Then it's up to the user to fix the system-wide deafault.
2- Set the default backend to Tk no matter which ones are installed, since Tk should be in principle always available (afaik...). Then each user sets their preferred backend in their personal rc file.
I believe 1. is the right way to go and leaves the user choice, at least for qt backends where they do not need to be present at compile time according to the upstream devs comments on Felix's ticket.
re: 2. it is not a dependency of python2 in Arch, but is an optional dependency too, and is the traditional GUI for python - but Felix finds it ugly.
Have you seen my words?
To summarize: This is a feature request should be reported to upstream and it's so obvious that shouldn't be reported here.
Well, why should I keep watching this, just because someone reopened it for a weird reason?
Well, ignore me. I don't like such a bad reputation as "give a bad name".
And another question is YOURSELFT, not EXTRA WORK, most people need GUI. And you, hate GUI, I can say that you're just hate GUI, and want a clean system to satisfy YOURSELF.
And another, KISS, SIMPLE, yeah, SIMPLE. You're making things get complicated. You want to remove ALL GUI dependencies. I don't think felix get your opinion, "ALL GUI".
You're eager for a no-GUI matplot, yeah? Just for your MINIMAL usage?
As my opinion, GUI is matplot's minimal usage, and you want to make it BROKEN. Too horrible.
I'm fighting for MY minimal usage.
There is AUR package, then go for it.
Don't harm my profits.
https://git.gnome.org/browse/pitivi/tree/pitivi/timeline/elements.py#n31
So I think that python-pyqt5 should be optional.
[1] https://github.com/matplotlib/matplotlib/issues/3679