Skip to content
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

TypeError: 'dict' object is not reversible in Python 3.7 #21286

Closed
indranilo opened this issue Aug 26, 2023 · 1 comment
Closed

TypeError: 'dict' object is not reversible in Python 3.7 #21286

indranilo opened this issue Aug 26, 2023 · 1 comment

Comments

@indranilo
Copy link

Description

What steps will reproduce the problem?

I had to reset my laptop, then installed pythion 3.7.9 and spyder. The first time I ran spyder from command prompt, I am stuck with this error.

Traceback

Traceback (most recent call last):
  File "c:\users\indranil ojha\appdata\local\programs\python\python37\lib\site-packages\spyder\plugins\editor\panels\scrollflag.py", line 218, in paintEvent
    for flag_type in reversed(dict_flag_lists):
TypeError: 'dict' object is not reversible
Traceback (most recent call last):
  File "c:\users\indranil ojha\appdata\local\programs\python\python37\lib\site-packages\spyder\plugins\editor\panels\scrollflag.py", line 218, in paintEvent
    for flag_type in reversed(dict_flag_lists):
TypeError: 'dict' object is not reversible
QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
Traceback (most recent call last):
  File "c:\users\indranil ojha\appdata\local\programs\python\python37\lib\site-packages\spyder\plugins\editor\panels\scrollflag.py", line 218, in paintEvent
    for flag_type in reversed(dict_flag_lists):
TypeError: 'dict' object is not reversible
Traceback (most recent call last):
  File "c:\users\indranil ojha\appdata\local\programs\python\python37\lib\site-packages\spyder\plugins\editor\panels\scrollflag.py", line 218, in paintEvent
    for flag_type in reversed(dict_flag_lists):
TypeError: 'dict' object is not reversible
Traceback (most recent call last):
  File "c:\users\indranil ojha\appdata\local\programs\python\python37\lib\site-packages\spyder\plugins\editor\panels\scrollflag.py", line 218, in paintEvent
    for flag_type in reversed(dict_flag_lists):
TypeError: 'dict' object is not reversible
QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
Traceback (most recent call last):
  File "c:\users\indranil ojha\appdata\local\programs\python\python37\lib\site-packages\spyder\plugins\editor\panels\scrollflag.py", line 218, in paintEvent
    for flag_type in reversed(dict_flag_lists):
TypeError: 'dict' object is not reversible
QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
Traceback (most recent call last):
  File "c:\users\indranil ojha\appdata\local\programs\python\python37\lib\site-packages\spyder\plugins\editor\panels\scrollflag.py", line 218, in paintEvent
    for flag_type in reversed(dict_flag_lists):
TypeError: 'dict' object is not reversible
QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
Traceback (most recent call last):
  File "c:\users\indranil ojha\appdata\local\programs\python\python37\lib\site-packages\spyder\plugins\editor\panels\scrollflag.py", line 218, in paintEvent
    for flag_type in reversed(dict_flag_lists):
TypeError: 'dict' object is not reversible
QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
Traceback (most recent call last):
  File "c:\users\indranil ojha\appdata\local\programs\python\python37\lib\site-packages\spyder\plugins\editor\panels\scrollflag.py", line 218, in paintEvent
    for flag_type in reversed(dict_flag_lists):
TypeError: 'dict' object is not reversible
QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
Traceback (most recent call last):
  File "c:\users\indranil ojha\appdata\local\programs\python\python37\lib\site-packages\spyder\plugins\editor\panels\scrollflag.py", line 218, in paintEvent
    for flag_type in reversed(dict_flag_lists):
TypeError: 'dict' object is not reversible
Traceback (most recent call last):
  File "c:\users\indranil ojha\appdata\local\programs\python\python37\lib\site-packages\spyder\plugins\editor\panels\scrollflag.py", line 218, in paintEvent
    for flag_type in reversed(dict_flag_lists):
TypeError: 'dict' object is not reversible
QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
Traceback (most recent call last):
  File "c:\users\indranil ojha\appdata\local\programs\python\python37\lib\site-packages\spyder\plugins\editor\panels\scrollflag.py", line 218, in paintEvent
    for flag_type in reversed(dict_flag_lists):
TypeError: 'dict' object is not reversible
Traceback (most recent call last):
  File "c:\users\indranil ojha\appdata\local\programs\python\python37\lib\site-packages\spyder\plugins\editor\panels\scrollflag.py", line 218, in paintEvent
    for flag_type in reversed(dict_flag_lists):
TypeError: 'dict' object is not reversible
Traceback (most recent call last):
  File "c:\users\indranil ojha\appdata\local\programs\python\python37\lib\site-packages\spyder\plugins\editor\panels\scrollflag.py", line 218, in paintEvent
    for flag_type in reversed(dict_flag_lists):
TypeError: 'dict' object is not reversible
QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
Traceback (most recent call last):
  File "c:\users\indranil ojha\appdata\local\programs\python\python37\lib\site-packages\spyder\plugins\editor\panels\scrollflag.py", line 218, in paintEvent
    for flag_type in reversed(dict_flag_lists):
TypeError: 'dict' object is not reversible
QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
Traceback (most recent call last):
  File "c:\users\indranil ojha\appdata\local\programs\python\python37\lib\site-packages\spyder\plugins\editor\panels\scrollflag.py", line 218, in paintEvent
    for flag_type in reversed(dict_flag_lists):
TypeError: 'dict' object is not reversible
QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
Traceback (most recent call last):
  File "c:\users\indranil ojha\appdata\local\programs\python\python37\lib\site-packages\spyder\plugins\editor\panels\scrollflag.py", line 218, in paintEvent
    for flag_type in reversed(dict_flag_lists):
TypeError: 'dict' object is not reversible
QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
Traceback (most recent call last):
  File "c:\users\indranil ojha\appdata\local\programs\python\python37\lib\site-packages\spyder\plugins\editor\panels\scrollflag.py", line 218, in paintEvent
    for flag_type in reversed(dict_flag_lists):
TypeError: 'dict' object is not reversible
QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
Traceback (most recent call last):
  File "c:\users\indranil ojha\appdata\local\programs\python\python37\lib\site-packages\spyder\plugins\editor\panels\scrollflag.py", line 218, in paintEvent
    for flag_type in reversed(dict_flag_lists):
TypeError: 'dict' object is not reversible
QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
Traceback (most recent call last):
  File "c:\users\indranil ojha\appdata\local\programs\python\python37\lib\site-packages\spyder\plugins\editor\panels\scrollflag.py", line 218, in paintEvent
    for flag_type in reversed(dict_flag_lists):
TypeError: 'dict' object is not reversible

Versions

  • Spyder version: 5.4.4 (pip)
  • Python version: 3.7.9 64-bit
  • Qt version: 5.15.2
  • PyQt5 version: 5.15.9
  • Operating System: Windows-10-10.0.22000-SP0

Dependencies

# Mandatory:
atomicwrites >=1.2.0                                                        :  1.4.1 (OK)
chardet >=2.0.0                                                             :  5.2.0 (OK)
cloudpickle >=0.5.0                                                         :  2.2.1 (OK)
cookiecutter >=1.6.0                                                        :  2.3.0 (OK)
diff_match_patch >=20181111                                                 :  20230430 (OK)
intervaltree >=3.0.2                                                        :  3.1.0 (OK)
IPython >=7.31.1,<9.0.0,!=8.8.0,!=8.9.0,!=8.10.0,!=8.11.0,!=8.12.0,!=8.12.1 :  7.34.0 (OK)
jedi >=0.17.2,<0.19.0                                                       :  0.18.2 (OK)
jellyfish >=0.7                                                             :  1.0.0 (OK)
jsonschema >=3.2.0                                                          :  4.17.3 (OK)
keyring >=17.0.0                                                            :  24.1.1 (OK)
nbconvert >=4.0                                                             :  7.6.0 (OK)
numpydoc >=0.6.0                                                            :  1.5.0 (OK)
paramiko >=2.4.0                                                            :  3.3.1 (OK)
parso >=0.7.0,<0.9.0                                                        :  0.8.3 (OK)
pexpect >=4.4.0                                                             :  4.8.0 (OK)
pickleshare >=0.4                                                           :  0.7.5 (OK)
psutil >=5.3                                                                :  5.9.5 (OK)
pygments >=2.0                                                              :  2.16.1 (OK)
pylint >=2.5.0,<3.0                                                         :  2.17.5 (OK)
pylint_venv >=3.0.2                                                         :  3.0.2 (OK)
pyls_spyder >=0.4.0                                                         :  0.4.0 (OK)
pylsp >=1.7.4,<1.8.0                                                        :  1.7.4 (OK)
pylsp_black >=1.2.0,<3.0.0                                                  :  1.3.0 (OK)
qdarkstyle >=3.0.2,<3.2.0                                                   :  3.1 (OK)
qstylizer >=0.2.2                                                           :  0.2.2 (OK)
qtawesome >=1.2.1                                                           :  1.2.3 (OK)
qtconsole >=5.4.2,<5.5.0                                                    :  5.4.3 (OK)
qtpy >=2.1.0                                                                :  2.3.1 (OK)
rtree >=0.9.7                                                               :  1.0.1 (OK)
setuptools >=49.6.0                                                         :  68.0.0 (OK)
sphinx >=0.6.6                                                              :  5.3.0 (OK)
spyder_kernels >=2.4.4,<2.5.0                                               :  2.4.4 (OK)
textdistance >=4.2.0                                                        :  4.5.0 (OK)
three_merge >=0.1.1                                                         :  0.1.1 (OK)
watchdog >=0.10.3                                                           :  3.0.0 (OK)
zmq >=22.1.0                                                                :  25.1.1 (OK)

# Optional:
cython >=0.21                                                               :  None (NOK)
matplotlib >=3.0.0                                                          :  3.5.3 (OK)
numpy >=1.7                                                                 :  1.21.6 (OK)
pandas >=1.1.1                                                              :  1.3.5 (OK)
scipy >=0.17.0                                                              :  1.7.3 (OK)
sympy >=0.7.3                                                               :  None (NOK)
@ccordoba12
Copy link
Member

Hey @indranilo, thanks a lot for reporting. It seems we broke compatibility with Python 3.7 in our latest version (5.4.4) because the ability to reverse dictionaries (which is causing the error you reported) was added in Python 3.8 (see here).

We'll fix this in a new, emergency version (5.4.5), to be released in the next couple of days. In the meantime, please downgrade to 5.4.3, which shouldn't have this problem.

@ccordoba12 ccordoba12 changed the title Spyder does not launch after installation using pip on windows 11 TypeError: 'dict' object is not reversible in Python 3.7 Aug 27, 2023
@ccordoba12 ccordoba12 self-assigned this Aug 27, 2023
@ccordoba12 ccordoba12 added this to the v5.4.5 milestone Aug 27, 2023
ccordoba12 added a commit that referenced this issue Aug 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants