Bug 1566381 - python3-QtPy-1.4.0-1 breaks python3-spyder
Summary: python3-QtPy-1.4.0-1 breaks python3-spyder
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: python-QtPy
Version: 27
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Mukundan Ragavan
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-04-12 08:21 UTC by Raimondo Giammanco
Modified: 2018-11-30 21:59 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-11-30 21:59:46 UTC
Type: Bug


Attachments (Terms of Use)
diff between rpm list between 2 machines (old-new) (30.37 KB, text/plain)
2018-04-19 12:29 UTC, Raimondo Giammanco
no flags Details

Description Raimondo Giammanco 2018-04-12 08:21:57 UTC
Description of problem:

After an update from 1.3.1-1 to 1.4.0-1 of python3-QtPy, spyder3 does not starts anymore.

Version-Release number of selected component (if applicable):

python3-QtPy-1.4.0-1
python3-spyder-3.2.8-1


How reproducible:

launch spyder3

Steps to Reproduce:
1. spyder3

Actual results:

bla@bla$ spyder3
Traceback (most recent call last):
  File "/usr/bin/spyder3", line 3, in <module>
    start.main()
  File "/usr/lib/python3.6/site-packages/spyder/app/start.py", line 158, in main
    from spyder.app import mainwindow
  File "/usr/lib/python3.6/site-packages/spyder/app/mainwindow.py", line 49, in <module>
    requirements.check_qt()
  File "/usr/lib/python3.6/site-packages/spyder/requirements.py", line 40, in check_qt
    package_name, required_ver = qt_infos[qtpy.API]
KeyError: 'pyqt4'


Expected results:

spyder3 ide starts

Additional info:

downgrading to python3-QtPy to 1.3.1-1 allows spyder3 to start again.

Comment 1 Mukundan Ragavan 2018-04-12 21:49:31 UTC
I cannot reproduce this from my end.

$ spyder3
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile

$ rpm -qa python3-spyder python3-QtPy
python3-spyder-3.2.8-1.fc28.noarch
python3-QtPy-1.4.0-1.fc28.noarch


Having said that, the issue seems to be this line here - 

def check_qt():
     """Check Qt binding requirements"""
     qt_infos = dict(pyqt5=("PyQt5", "5.2"), pyqt=("PyQt4", "4.6"))
     try:
         import qtpy
         package_name, required_ver = qt_infos[qtpy.API]                     
         actual_ver = qtpy.PYQT_VERSION


Please post output from a python console for the following

import qtpy

qtpy.API

qtpy.PYQT_VERSION


Additionally, do you have pyqt4 packages installed? I wonder if that's got something to do with this error as well.

Note that the dictionary qt_infos lists pyqt instead of pyqt4 ...

Comment 2 Julien Christophe 2018-04-13 08:03:06 UTC
Here are the results of the following commands:

>>> import qtpy
>>> qtpy.API
'pyqt5'
>>> qtpy.PYQT_VERSION
'5.9.1'

Indeed both PyQt4 and PyQt5 are installed....
Doing sudo dnf remove python3-PyQt4 fixed the problem.

Thank for your help !

Comment 3 Raimondo Giammanco 2018-04-16 14:18:46 UTC
However someone could need python3-PyQt4, so a blanket removal is a little too much. 

I assumed the issue was in python3-QtPy since comparing the list of installed packages of 2 workstations (one where spyder3 was working and one where did not) and updating the packages one by one in the good workstation, it was python3-QtPy that once updated broke spyder3.

If it comes from somewhere else, I have no idea.

Comment 4 Mukundan Ragavan 2018-04-16 21:49:28 UTC
(In reply to Raimondo Giammanco from comment #3)
> However someone could need python3-PyQt4, so a blanket removal is a little
> too much. 

That's precisely why I have not closed the issue yet.

> 
> I assumed the issue was in python3-QtPy since comparing the list of
> installed packages of 2 workstations (one where spyder3 was working and one
> where did not) and updating the packages one by one in the good workstation,
> it was python3-QtPy that once updated broke spyder3.
> 
> If it comes from somewhere else, I have no idea.


Can you please post the output for the commands I have listed in comment #1 from both machines?

Comment 5 Raimondo Giammanco 2018-04-19 12:28:46 UTC
Taking two other workstations in a similar configuration (i.e. one full up to date where spyder3 is not working and one a little behind in updates where spyder3 is working):

OLD (spyder3 works):
Python 3.6.4 (default, Mar 13 2018, 18:18:20) 
[GCC 7.3.1 20180303 (Red Hat 7.3.1-5)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import qtpy
>>> qtpy.API
'pyqt5'
>>> qtpy.PYQT_VERSION
'5.9.1'
>>> 

NEW (spyder3 does not work):
Python 3.6.5 (default, Apr  4 2018, 15:01:18) 
[GCC 7.3.1 20180303 (Red Hat 7.3.1-5)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import qtpy
>>> qtpy.API
'pyqt5'
>>> qtpy.PYQT_VERSION
'5.9.1'
>>> 

Will add a file with the diff of the installed packages.

Comment 6 Raimondo Giammanco 2018-04-19 12:29:29 UTC
Created attachment 1424043 [details]
diff between rpm list between 2 machines (old-new)

Comment 7 Mukundan Ragavan 2018-04-20 01:21:25 UTC
Hmmm ... I can reproduce this in the following scenarios but ONLY when I have python3-PyQt4 installed.


spyder-3.2.8 + python-qtpy-1.4.0

spyder-3.2.8 + python-qtpy-1.3.1

spyder-3.2.7 + python-qtpy-1.4.0

spyder-3.2.7 + python-qtpy-1.3.1


So ... pretty much every configuration. I will have to dig more. :(

Comment 8 Mukundan Ragavan 2018-04-20 01:33:54 UTC
The strange thing here is that even with pyqt4 installed, I can launch spyder3 from an ipython shell - like this.

$ ipython3 
Python 3.6.5 (default, Apr  4 2018, 15:01:18) 
Type 'copyright', 'credits' or 'license' for more information
IPython 6.2.1 -- An enhanced Interactive Python. Type '?' for help.

In [1]: from spyder.app import mainwindow

In [2]: mainwindow.main()
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile


This works! But, typing spyder3 on a terminal or from a menu - no dice.

Comment 9 Mukundan Ragavan 2018-04-20 01:34:55 UTC
I can reproduce this in all configurations in comment #7.

So, I am positive this has nothing to do with the QtPy update. That said, I am still interested in trying to get this figured out.

Comment 10 Mukundan Ragavan 2018-04-20 01:40:55 UTC
Aha! One more question - do you have pandas installed in your system?

Comment 11 Raimondo Giammanco 2018-04-20 09:11:26 UTC
Plenty of bamboo eaters: 

python2-pandas-datareader-0.3.0-2.post0.fc27.noarch
python2-pandas-0.20.1-3.fc27.x86_64
python3-pandas-0.20.1-3.fc27.x86_64
python3-pandas-datareader-0.3.0-2.post0.fc27.noarch


Same version on the two workstations mentioned on comments #5 and #6

Comment 12 Ben Cotton 2018-11-27 15:10:23 UTC
This message is a reminder that Fedora 27 is nearing its end of life.
On 2018-Nov-30  Fedora will stop maintaining and issuing updates for
Fedora 27. It is Fedora's policy to close all bug reports from releases
that are no longer maintained. At that time this bug will be closed as
EOL if it remains open with a Fedora  'version' of '27'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 27 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 13 Ben Cotton 2018-11-30 21:59:46 UTC
Fedora 27 changed to end-of-life (EOL) status on 2018-11-30. Fedora 27 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.