Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#9153 closed defect (fixed)

PyQt no longer accepting previously acceptable arguments

Reported by: chimerax-bug-report@… Owned by: Eric Pettersen
Priority: normal Milestone:
Component: Window Toolkit Version:
Keywords: Cc: chimerax-programmers
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Windows-10-10.0.22621
ChimeraX Version: 1.7.dev202306080039 (2023-06-08 00:39:06 UTC)
Description
just open a molecule and try to make sequence display 

Log:
UCSF ChimeraX version: 1.7.dev202306080039 (2023-06-08)  
© 2016-2023 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open C:/Users/sblat/Downloads/structures_2023-6-9-12-28-43/.cif

'C:/Users/sblat/Downloads/structures_2023-6-9-12-28-43/.cif' has no suffix  

> open "C:/1_LAVORO/PROGETTI_TS_EUROSPITAL/ELASTASE/modelli
> 3D/CELA3B_model_AF-P08861-F1-model_v4.pdb"

CELA3B_model_AF-P08861-F1-model_v4.pdb title:  
Alphafold monomer V2.0 prediction for chymotrypsin-like elastase family member
3B (P08861) [more info...]  
  
Chain information for CELA3B_model_AF-P08861-F1-model_v4.pdb #1  
---  
Chain | Description | UniProt  
A | chymotrypsin-like elastase family member 3B | CEL3B_HUMAN 1-270  
  

> open "C:/1_LAVORO/PROGETTI_TS_EUROSPITAL/ELASTASE/modelli
> 3D/CELA3A_modell_AF-P09093-F1-model_v4.pdb"

CELA3A_modell_AF-P09093-F1-model_v4.pdb title:  
Alphafold monomer V2.0 prediction for chymotrypsin-like elastase family member
3A (P09093) [more info...]  
  
Chain information for CELA3A_modell_AF-P09093-F1-model_v4.pdb #2  
---  
Chain | Description | UniProt  
A | chymotrypsin-like elastase family member 3A | CEL3A_HUMAN 1-270  
  

> ui tool show Matchmaker

> matchmaker #2 to #1

Parameters  
---  
Chain pairing | bb  
Alignment algorithm | Needleman-Wunsch  
Similarity matrix | BLOSUM-62  
SS fraction | 0.3  
Gap open (HH/SS/other) | 18/18/6  
Gap extend | 1  
SS matrix |  |  | H | S | O  
---|---|---|---  
H | 6 | -9 | -6  
S |  | 6 | -6  
O |  |  | 4  
Iteration cutoff | 2  
  
Matchmaker CELA3B_model_AF-P08861-F1-model_v4.pdb, chain A (#1) with
CELA3A_modell_AF-P09093-F1-model_v4.pdb, chain A (#2), sequence alignment
score = 1331.1  
RMSD between 243 pruned atom pairs is 0.290 angstroms; (across all 270 pairs:
4.246)  
  

> ui windowfill toggle

[Repeated 1 time(s)]

> open C:/Users/sblat/Downloads/5ire.cif

Summary of feedback from opening C:/Users/sblat/Downloads/5ire.cif  
---  
note | Fetching CCD NAG from
https://files.wwpdb.org/pub/pdb/refdata/chem_comp/G/NAG/NAG.cif  
  
5ire.cif title:  
The cryo-EM structure of Zika Virus [more info...]  
  
Chain information for 5ire.cif #3  
---  
Chain | Description | UniProt  
A C E | E protein | A0A060H177_9FLAV 1-504  
B D F | M protein | A0A096XFQ2_9FLAV 1-75  
  
Non-standard residues in 5ire.cif #3  
---  
NAG — 2-acetamido-2-deoxy-beta-D-glucopyranose  
  
5ire.cif mmCIF Assemblies  
---  
1| complete icosahedral assembly  
2| icosahedral asymmetric unit  
3| icosahedral pentamer  
4| icosahedral 23 hexamer  
5| icosahedral asymmetric unit, std point frame  
  

> hide #1 models

> hide #2 models

> show #!3 cartoons

> style #!3 sphere

Changed 11024 atom styles  

> style #!3 sphere

Changed 11024 atom styles  

> style #!3 ball

Changed 11024 atom styles  

> toolshed show

> close #3

> show #1 models

> show #2 models

> close #2

> close

> open C:\Users\sblat\Downloads\5ire.cif format mmcif

5ire.cif title:  
The cryo-EM structure of Zika Virus [more info...]  
  
Chain information for 5ire.cif #1  
---  
Chain | Description | UniProt  
A C E | E protein | A0A060H177_9FLAV 1-504  
B D F | M protein | A0A096XFQ2_9FLAV 1-75  
  
Non-standard residues in 5ire.cif #1  
---  
NAG — 2-acetamido-2-deoxy-beta-D-glucopyranose  
  
5ire.cif mmCIF Assemblies  
---  
1| complete icosahedral assembly  
2| icosahedral asymmetric unit  
3| icosahedral pentamer  
4| icosahedral 23 hexamer  
5| icosahedral asymmetric unit, std point frame  
  

> close

> open "C:\1_LAVORO\PROGETTI_TS_EUROSPITAL\ELASTASE\modelli
> 3D\CELA3A_modell_AF-P09093-F1-model_v4.pdb" format pdb

CELA3A_modell_AF-P09093-F1-model_v4.pdb title:  
Alphafold monomer V2.0 prediction for chymotrypsin-like elastase family member
3A (P09093) [more info...]  
  
Chain information for CELA3A_modell_AF-P09093-F1-model_v4.pdb #1  
---  
Chain | Description | UniProt  
A | chymotrypsin-like elastase family member 3A | CEL3A_HUMAN 1-270  
  

> open "C:\1_LAVORO\PROGETTI_TS_EUROSPITAL\ELASTASE\modelli
> 3D\CELA3B_model_AF-P08861-F1-model_v4.pdb" format pdb

CELA3B_model_AF-P08861-F1-model_v4.pdb title:  
Alphafold monomer V2.0 prediction for chymotrypsin-like elastase family member
3B (P08861) [more info...]  
  
Chain information for CELA3B_model_AF-P08861-F1-model_v4.pdb #2  
---  
Chain | Description | UniProt  
A | chymotrypsin-like elastase family member 3B | CEL3B_HUMAN 1-270  
  

> matchmaker #1 to #2

Parameters  
---  
Chain pairing | bb  
Alignment algorithm | Needleman-Wunsch  
Similarity matrix | BLOSUM-62  
SS fraction | 0.3  
Gap open (HH/SS/other) | 18/18/6  
Gap extend | 1  
SS matrix |  |  | H | S | O  
---|---|---|---  
H | 6 | -9 | -6  
S |  | 6 | -6  
O |  |  | 4  
Iteration cutoff | 2  
  
Matchmaker CELA3B_model_AF-P08861-F1-model_v4.pdb, chain A (#2) with
CELA3A_modell_AF-P09093-F1-model_v4.pdb, chain A (#1), sequence alignment
score = 1331.1  
RMSD between 243 pruned atom pairs is 0.290 angstroms; (across all 270 pairs:
4.246)  
  
Alignment identifier is 1/A  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\toolbar\tool.py", line 205, in callback  
bundle_info.run_provider(session, name, session.toolbar,
display_name=display_name)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\toolshed\info.py", line 386, in run_provider  
return api._api_caller.run_provider(api, session, name, mgr, **kw)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\toolshed\\__init__.py", line 1291, in run_provider  
return cls._get_func(api, "run_provider")(session, name, mgr, **kw)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\\__init__.py", line 52, in run_provider  
shortcuts.run_provider(session, name)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\shortcuts.py", line 1335, in run_provider  
keyboard_shortcuts(session).try_shortcut(name)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\shortcuts.py", line 390, in try_shortcut  
self.run_shortcut(keys)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\shortcuts.py", line 408, in run_shortcut  
sc.run(self.session, status = self._enabled)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\shortcuts.py", line 310, in run  
f(shortcut_atoms(s))  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\shortcuts.py", line 1047, in show_sequence  
run(session, 'sequence chain %s' % seq_chain_spec, log = False)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\shortcuts.py", line 513, in run  
run_command(session, command, **kw)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\commands\run.py", line 38, in run  
results = command.run(text, log=log, return_json=return_json)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\commands\cli.py", line 2897, in run  
result = ci.function(session, **kw_args)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seqalign\cmd.py", line 212, in seqalign_chain  
alignment = session.alignments.new_alignment([chain], ident,
auto_associate=None, intrinsic=True)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seqalign\manager.py", line 247, in new_alignment  
self._viewers[viewer_name].run_provider(self.session, viewer_name, self,
alignment=alignment)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\toolshed\info.py", line 386, in run_provider  
return api._api_caller.run_provider(api, session, name, mgr, **kw)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\toolshed\\__init__.py", line 1291, in run_provider  
return cls._get_func(api, "run_provider")(session, name, mgr, **kw)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\\__init__.py", line 37, in run_provider  
return _start_seq_viewer(session, "Sequence Viewer", alignment)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\tool.py", line 858, in _start_seq_viewer  
return SequenceViewer(session, tool_name, alignment)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\tool.py", line 55, in __init__  
self._finalize_init(alignment, from_session=False)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\tool.py", line 168, in _finalize_init  
self.seq_canvas = SeqCanvas(parent, self, self.alignment)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\seq_canvas.py", line 194, in __init__  
self.layout_alignment()  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\seq_canvas.py", line 772, in layout_alignment  
self.lead_block = SeqBlock(label_scene, self.main_scene, None, self.font,  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\seq_canvas.py", line 1627, in __init__  
self.layout_lines(alignment.seqs, self.normal_label_color)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\seq_canvas.py", line 2323, in layout_lines  
self._layout_line(line, label_color, bli, end)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\seq_canvas.py", line 2283, in _layout_line  
self._colorize_label(line)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\seq_canvas.py", line 1935, in _colorize_label  
brush = QBrush(QColor(*color), Qt.SolidPattern)  
^^^^^^^^^^^^^^  
TypeError: arguments did not match any overloaded call:  
QColor(color: Qt.GlobalColor): argument 1 has unexpected type 'numpy.float64'  
QColor(rgb: int): argument 1 has unexpected type 'numpy.float64'  
QColor(rgba64: QRgba64): argument 1 has unexpected type 'numpy.float64'  
QColor(variant: Any): too many arguments  
QColor(): too many arguments  
QColor(r: int, g: int, b: int, alpha: int = 255): argument 1 has unexpected
type 'numpy.float64'  
QColor(name: str): argument 1 has unexpected type 'numpy.float64'  
QColor(a0: QColor): argument 1 has unexpected type 'numpy.float64'  
  
TypeError: arguments did not match any overloaded call:  
QColor(color: Qt.GlobalColor): argument 1 has unexpected type 'numpy.float64'  
QColor(rgb: int): argument 1 has unexpected type 'numpy.float64'  
QColor(rgba64: QRgba64): argument 1 has unexpected type 'numpy.float64'  
QColor(variant: Any): too many arguments  
QColor(): too many arguments  
QColor(r: int, g: int, b: int, alpha: int = 255): argument 1 has unexpected
type 'numpy.float64'  
QColor(name: str): argument 1 has unexpected type 'numpy.float64'  
QColor(a0: QColor): argument 1 has unexpected type 'numpy.float64'  
  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\seq_canvas.py", line 1935, in _colorize_label  
brush = QBrush(QColor(*color), Qt.SolidPattern)  
^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Destroying pre-existing alignment with identifier 1/A  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\toolbar\tool.py", line 205, in callback  
bundle_info.run_provider(session, name, session.toolbar,
display_name=display_name)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\toolshed\info.py", line 386, in run_provider  
return api._api_caller.run_provider(api, session, name, mgr, **kw)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\toolshed\\__init__.py", line 1291, in run_provider  
return cls._get_func(api, "run_provider")(session, name, mgr, **kw)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\\__init__.py", line 52, in run_provider  
shortcuts.run_provider(session, name)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\shortcuts.py", line 1335, in run_provider  
keyboard_shortcuts(session).try_shortcut(name)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\shortcuts.py", line 390, in try_shortcut  
self.run_shortcut(keys)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\shortcuts.py", line 408, in run_shortcut  
sc.run(self.session, status = self._enabled)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\shortcuts.py", line 310, in run  
f(shortcut_atoms(s))  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\shortcuts.py", line 1047, in show_sequence  
run(session, 'sequence chain %s' % seq_chain_spec, log = False)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\shortcuts.py", line 513, in run  
run_command(session, command, **kw)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\commands\run.py", line 38, in run  
results = command.run(text, log=log, return_json=return_json)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\commands\cli.py", line 2897, in run  
result = ci.function(session, **kw_args)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seqalign\cmd.py", line 212, in seqalign_chain  
alignment = session.alignments.new_alignment([chain], ident,
auto_associate=None, intrinsic=True)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seqalign\manager.py", line 224, in new_alignment  
self.destroy_alignment(self._alignments[identify_as])  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seqalign\manager.py", line 119, in destroy_alignment  
alignment._destroy()  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seqalign\alignment.py", line 659, in _destroy  
self._notify_observers(self.NOTE_DESTROYED, None)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seqalign\alignment.py", line 711, in _notify_observers  
recipient.alignment_notification(note_name, note_data)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\tool.py", line 472, in alignment_notification  
self.delete()  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\tool.py", line 504, in delete  
self.region_browser.destroy()  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'SequenceViewer' object has no attribute 'region_browser'  
  
AttributeError: 'SequenceViewer' object has no attribute 'region_browser'  
  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\tool.py", line 504, in delete  
self.region_browser.destroy()  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  

> close

> open "C:\1_LAVORO\PROGETTI_TS_EUROSPITAL\ELASTASE\modelli
> 3D\CELA3A_modell_AF-P09093-F1-model_v4.pdb" format pdb

CELA3A_modell_AF-P09093-F1-model_v4.pdb title:  
Alphafold monomer V2.0 prediction for chymotrypsin-like elastase family member
3A (P09093) [more info...]  
  
Chain information for CELA3A_modell_AF-P09093-F1-model_v4.pdb #1  
---  
Chain | Description | UniProt  
A | chymotrypsin-like elastase family member 3A | CEL3A_HUMAN 1-270  
  
Alignment identifier is 1/A  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\toolbar\tool.py", line 205, in callback  
bundle_info.run_provider(session, name, session.toolbar,
display_name=display_name)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\toolshed\info.py", line 386, in run_provider  
return api._api_caller.run_provider(api, session, name, mgr, **kw)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\toolshed\\__init__.py", line 1291, in run_provider  
return cls._get_func(api, "run_provider")(session, name, mgr, **kw)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\\__init__.py", line 52, in run_provider  
shortcuts.run_provider(session, name)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\shortcuts.py", line 1335, in run_provider  
keyboard_shortcuts(session).try_shortcut(name)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\shortcuts.py", line 390, in try_shortcut  
self.run_shortcut(keys)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\shortcuts.py", line 408, in run_shortcut  
sc.run(self.session, status = self._enabled)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\shortcuts.py", line 310, in run  
f(shortcut_atoms(s))  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\shortcuts.py", line 1047, in show_sequence  
run(session, 'sequence chain %s' % seq_chain_spec, log = False)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\shortcuts.py", line 513, in run  
run_command(session, command, **kw)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\commands\run.py", line 38, in run  
results = command.run(text, log=log, return_json=return_json)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\commands\cli.py", line 2897, in run  
result = ci.function(session, **kw_args)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seqalign\cmd.py", line 212, in seqalign_chain  
alignment = session.alignments.new_alignment([chain], ident,
auto_associate=None, intrinsic=True)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seqalign\manager.py", line 247, in new_alignment  
self._viewers[viewer_name].run_provider(self.session, viewer_name, self,
alignment=alignment)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\toolshed\info.py", line 386, in run_provider  
return api._api_caller.run_provider(api, session, name, mgr, **kw)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\toolshed\\__init__.py", line 1291, in run_provider  
return cls._get_func(api, "run_provider")(session, name, mgr, **kw)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\\__init__.py", line 37, in run_provider  
return _start_seq_viewer(session, "Sequence Viewer", alignment)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\tool.py", line 858, in _start_seq_viewer  
return SequenceViewer(session, tool_name, alignment)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\tool.py", line 55, in __init__  
self._finalize_init(alignment, from_session=False)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\tool.py", line 168, in _finalize_init  
self.seq_canvas = SeqCanvas(parent, self, self.alignment)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\seq_canvas.py", line 194, in __init__  
self.layout_alignment()  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\seq_canvas.py", line 772, in layout_alignment  
self.lead_block = SeqBlock(label_scene, self.main_scene, None, self.font,  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\seq_canvas.py", line 1627, in __init__  
self.layout_lines(alignment.seqs, self.normal_label_color)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\seq_canvas.py", line 2323, in layout_lines  
self._layout_line(line, label_color, bli, end)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\seq_canvas.py", line 2283, in _layout_line  
self._colorize_label(line)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\seq_canvas.py", line 1935, in _colorize_label  
brush = QBrush(QColor(*color), Qt.SolidPattern)  
^^^^^^^^^^^^^^  
TypeError: arguments did not match any overloaded call:  
QColor(color: Qt.GlobalColor): argument 1 has unexpected type 'numpy.float64'  
QColor(rgb: int): argument 1 has unexpected type 'numpy.float64'  
QColor(rgba64: QRgba64): argument 1 has unexpected type 'numpy.float64'  
QColor(variant: Any): too many arguments  
QColor(): too many arguments  
QColor(r: int, g: int, b: int, alpha: int = 255): argument 1 has unexpected
type 'numpy.float64'  
QColor(name: str): argument 1 has unexpected type 'numpy.float64'  
QColor(a0: QColor): argument 1 has unexpected type 'numpy.float64'  
  
TypeError: arguments did not match any overloaded call:  
QColor(color: Qt.GlobalColor): argument 1 has unexpected type 'numpy.float64'  
QColor(rgb: int): argument 1 has unexpected type 'numpy.float64'  
QColor(rgba64: QRgba64): argument 1 has unexpected type 'numpy.float64'  
QColor(variant: Any): too many arguments  
QColor(): too many arguments  
QColor(r: int, g: int, b: int, alpha: int = 255): argument 1 has unexpected
type 'numpy.float64'  
QColor(name: str): argument 1 has unexpected type 'numpy.float64'  
QColor(a0: QColor): argument 1 has unexpected type 'numpy.float64'  
  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\seq_canvas.py", line 1935, in _colorize_label  
brush = QBrush(QColor(*color), Qt.SolidPattern)  
^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  
Destroying pre-existing alignment with identifier 1/A  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\toolbar\tool.py", line 205, in callback  
bundle_info.run_provider(session, name, session.toolbar,
display_name=display_name)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\toolshed\info.py", line 386, in run_provider  
return api._api_caller.run_provider(api, session, name, mgr, **kw)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\toolshed\\__init__.py", line 1291, in run_provider  
return cls._get_func(api, "run_provider")(session, name, mgr, **kw)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\\__init__.py", line 52, in run_provider  
shortcuts.run_provider(session, name)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\shortcuts.py", line 1335, in run_provider  
keyboard_shortcuts(session).try_shortcut(name)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\shortcuts.py", line 390, in try_shortcut  
self.run_shortcut(keys)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\shortcuts.py", line 408, in run_shortcut  
sc.run(self.session, status = self._enabled)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\shortcuts.py", line 310, in run  
f(shortcut_atoms(s))  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\shortcuts.py", line 1047, in show_sequence  
run(session, 'sequence chain %s' % seq_chain_spec, log = False)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\shortcuts\shortcuts.py", line 513, in run  
run_command(session, command, **kw)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\commands\run.py", line 38, in run  
results = command.run(text, log=log, return_json=return_json)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\commands\cli.py", line 2897, in run  
result = ci.function(session, **kw_args)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seqalign\cmd.py", line 212, in seqalign_chain  
alignment = session.alignments.new_alignment([chain], ident,
auto_associate=None, intrinsic=True)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seqalign\manager.py", line 224, in new_alignment  
self.destroy_alignment(self._alignments[identify_as])  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seqalign\manager.py", line 119, in destroy_alignment  
alignment._destroy()  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seqalign\alignment.py", line 659, in _destroy  
self._notify_observers(self.NOTE_DESTROYED, None)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seqalign\alignment.py", line 711, in _notify_observers  
recipient.alignment_notification(note_name, note_data)  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\tool.py", line 472, in alignment_notification  
self.delete()  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\tool.py", line 504, in delete  
self.region_browser.destroy()  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'SequenceViewer' object has no attribute 'region_browser'  
  
AttributeError: 'SequenceViewer' object has no attribute 'region_browser'  
  
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\seq_view\tool.py", line 504, in delete  
self.region_browser.destroy()  
^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  




OpenGL version: 3.3.0 NVIDIA 528.66
OpenGL renderer: NVIDIA GeForce MX150/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation

Python: 3.11.2
Locale: it_IT.cp1252
Qt version: PyQt6 6.4.2, Qt 6.4.2
Qt runtime version: 6.4.3
Qt platform: windows

Manufacturer: ASUSTeK COMPUTER INC.
Model: UX430UNR
OS: Microsoft Windows 11 Home (Build 22621)
Memory: 17,033,650,176
MaxProcessMemory: 137,438,953,344
CPU: 8 Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
OSLanguage: it-IT

Installed Packages:
    alabaster: 0.7.13
    appdirs: 1.4.4
    asttokens: 2.2.1
    Babel: 2.12.1
    backcall: 0.2.0
    beautifulsoup4: 4.11.2
    blockdiag: 3.0.0
    blosc2: 2.0.0
    build: 0.10.0
    certifi: 2023.5.7
    cftime: 1.6.2
    charset-normalizer: 3.1.0
    ChimeraX-AddCharge: 1.5.11
    ChimeraX-AddH: 2.2.5
    ChimeraX-AlignmentAlgorithms: 2.0.1
    ChimeraX-AlignmentHdrs: 3.3.1
    ChimeraX-AlignmentMatrices: 2.1
    ChimeraX-Alignments: 2.9.3
    ChimeraX-AlphaFold: 1.0
    ChimeraX-AltlocExplorer: 1.0.3
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.1
    ChimeraX-Atomic: 1.45.7
    ChimeraX-AtomicLibrary: 10.0.7
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.3.2
    ChimeraX-BasicActions: 1.1.2
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 2.1.2
    ChimeraX-BondRot: 2.0.4
    ChimeraX-BugReporter: 1.0.1
    ChimeraX-BuildStructure: 2.10.3
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.2.2
    ChimeraX-ButtonPanel: 1.0.1
    ChimeraX-CageBuilder: 1.0.1
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.3.2
    ChimeraX-ChangeChains: 1.0.2
    ChimeraX-CheckWaters: 1.3.1
    ChimeraX-ChemGroup: 2.0.1
    ChimeraX-Clashes: 2.2.4
    ChimeraX-ColorActions: 1.0.3
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.3
    ChimeraX-CommandLine: 1.2.5
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0.1
    ChimeraX-Core: 1.7.dev202306080039
    ChimeraX-CoreFormats: 1.1
    ChimeraX-coulombic: 1.4.2
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0.1
    ChimeraX-DataFormats: 1.2.3
    ChimeraX-Dicom: 1.2
    ChimeraX-DistMonitor: 1.4
    ChimeraX-DockPrep: 1.1.2
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ESMFold: 1.0
    ChimeraX-FileHistory: 1.0.1
    ChimeraX-FunctionKey: 1.0.1
    ChimeraX-Geometry: 1.3
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.1.1
    ChimeraX-Hbonds: 2.4
    ChimeraX-Help: 1.2.1
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.1
    ChimeraX-ImageFormats: 1.2
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0.1
    ChimeraX-ItemsInspection: 1.0.1
    ChimeraX-Label: 1.1.7
    ChimeraX-ListInfo: 1.2
    ChimeraX-Log: 1.1.5
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.8.2
    ChimeraX-Map: 1.1.4
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0.1
    ChimeraX-MapFilter: 2.0.1
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.1.1
    ChimeraX-Markers: 1.0.1
    ChimeraX-Mask: 1.0.2
    ChimeraX-MatchMaker: 2.1
    ChimeraX-MCopy: 1.0
    ChimeraX-MDcrds: 2.6
    ChimeraX-MedicalToolbar: 1.0.2
    ChimeraX-Meeting: 1.0.1
    ChimeraX-MLP: 1.1.1
    ChimeraX-mmCIF: 2.12
    ChimeraX-MMTF: 2.2
    ChimeraX-Modeller: 1.5.9
    ChimeraX-ModelPanel: 1.3.7
    ChimeraX-ModelSeries: 1.0.1
    ChimeraX-Mol2: 2.0
    ChimeraX-Mole: 1.0
    ChimeraX-Morph: 1.0.2
    ChimeraX-MouseModes: 1.2
    ChimeraX-Movie: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nifti: 1.0
    ChimeraX-NRRD: 1.0
    ChimeraX-Nucleotides: 2.0.3
    ChimeraX-OpenCommand: 1.10.2
    ChimeraX-PDB: 2.7.2
    ChimeraX-PDBBio: 1.0
    ChimeraX-PDBLibrary: 1.0.2
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PickBlobs: 1.0.1
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.1
    ChimeraX-PubChem: 2.1
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1.1
    ChimeraX-RemoteControl: 1.0
    ChimeraX-RenderByAttr: 1.1
    ChimeraX-RenumberResidues: 1.1
    ChimeraX-ResidueFit: 1.0.1
    ChimeraX-RestServer: 1.2
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 3.0
    ChimeraX-RotamerLibsDunbrack: 2.0
    ChimeraX-RotamerLibsDynameomics: 2.0
    ChimeraX-RotamerLibsRichardson: 2.0
    ChimeraX-SaveCommand: 1.5.1
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0.1
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0.1
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.8.3
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0.1
    ChimeraX-Shortcuts: 1.1.1
    ChimeraX-ShowSequences: 1.0.1
    ChimeraX-SideView: 1.0.1
    ChimeraX-Smiles: 2.1
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.12
    ChimeraX-STL: 1.0.1
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.1.2
    ChimeraX-Struts: 1.0.1
    ChimeraX-Surface: 1.0.1
    ChimeraX-SwapAA: 2.0.1
    ChimeraX-SwapRes: 2.2.1
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.1.2
    ChimeraX-ToolshedUtils: 1.2.2
    ChimeraX-Topography: 1.0
    ChimeraX-ToQuest: 1.0
    ChimeraX-Tug: 1.0.1
    ChimeraX-UI: 1.28.6
    ChimeraX-uniprot: 2.2.2
    ChimeraX-UnitCell: 1.0.1
    ChimeraX-ViewDockX: 1.2.1
    ChimeraX-VIPERdb: 1.0
    ChimeraX-Vive: 1.1
    ChimeraX-VolumeMenu: 1.0.1
    ChimeraX-VTK: 1.0
    ChimeraX-WavefrontOBJ: 1.0
    ChimeraX-WebCam: 1.0.2
    ChimeraX-WebServices: 1.1.1
    ChimeraX-Zone: 1.0.1
    colorama: 0.4.6
    comm: 0.1.3
    comtypes: 1.1.14
    contourpy: 1.0.7
    cxservices: 1.2.2
    cycler: 0.11.0
    Cython: 0.29.33
    debugpy: 1.6.7
    decorator: 5.1.1
    docutils: 0.19
    executing: 1.2.0
    filelock: 3.9.0
    fonttools: 4.39.4
    funcparserlib: 1.0.1
    grako: 3.16.5
    h5py: 3.8.0
    html2text: 2020.1.16
    idna: 3.4
    ihm: 0.35
    imagecodecs: 2023.3.16
    imagesize: 1.4.1
    ipykernel: 6.21.1
    ipython: 8.10.0
    ipython-genutils: 0.2.0
    ipywidgets: 8.0.6
    jedi: 0.18.2
    Jinja2: 3.1.2
    jupyter-client: 8.0.2
    jupyter-core: 5.3.0
    jupyterlab-widgets: 3.0.7
    kiwisolver: 1.4.4
    line-profiler: 4.0.2
    lxml: 4.9.2
    lz4: 4.3.2
    MarkupSafe: 2.1.3
    matplotlib: 3.6.3
    matplotlib-inline: 0.1.6
    msgpack: 1.0.4
    nest-asyncio: 1.5.6
    netCDF4: 1.6.2
    networkx: 2.8.8
    nibabel: 5.0.1
    nptyping: 2.5.0
    numexpr: 2.8.4
    numpy: 1.23.5
    openvr: 1.23.701
    packaging: 23.1
    ParmEd: 3.4.3
    parso: 0.8.3
    pep517: 0.13.0
    pickleshare: 0.7.5
    Pillow: 9.3.0
    pip: 23.0
    pkginfo: 1.9.6
    platformdirs: 3.5.1
    prompt-toolkit: 3.0.38
    psutil: 5.9.4
    pure-eval: 0.2.2
    py-cpuinfo: 9.0.0
    pycollada: 0.7.2
    pydicom: 2.3.0
    Pygments: 2.14.0
    pynrrd: 1.0.0
    PyOpenGL: 3.1.6
    PyOpenGL-accelerate: 3.1.6
    pyparsing: 3.0.9
    pyproject-hooks: 1.0.0
    PyQt6-commercial: 6.4.2
    PyQt6-Qt6: 6.4.3
    PyQt6-sip: 13.4.1
    PyQt6-WebEngine-commercial: 6.4.0
    PyQt6-WebEngine-Qt6: 6.4.3
    python-dateutil: 2.8.2
    pytz: 2023.3
    pywin32: 305
    pyzmq: 25.1.0
    qtconsole: 5.4.0
    QtPy: 2.3.1
    RandomWords: 0.4.0
    requests: 2.31.0
    scipy: 1.9.3
    setuptools: 67.4.0
    sfftk-rw: 0.7.3
    six: 1.16.0
    snowballstemmer: 2.2.0
    sortedcontainers: 2.4.0
    soupsieve: 2.4.1
    sphinx: 6.1.3
    sphinx-autodoc-typehints: 1.22
    sphinxcontrib-applehelp: 1.0.4
    sphinxcontrib-blockdiag: 3.0.0
    sphinxcontrib-devhelp: 1.0.2
    sphinxcontrib-htmlhelp: 2.0.1
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.3
    sphinxcontrib-serializinghtml: 1.1.5
    stack-data: 0.6.2
    tables: 3.8.0
    tcia-utils: 1.2.0
    tifffile: 2022.10.10
    tinyarray: 1.2.4
    tomli: 2.0.1
    tornado: 6.3.2
    traitlets: 5.9.0
    typing-extensions: 4.6.3
    tzdata: 2023.3
    urllib3: 2.0.3
    wcwidth: 0.2.6
    webcolors: 1.12
    wheel: 0.38.4
    wheel-filename: 1.4.1
    widgetsnbextension: 4.0.7
    WMI: 1.5.1

Change History (16)

comment:1 by Eric Pettersen, 2 years ago

Cc: chimerax-programmers added
Component: UnassignedWindow Toolkit
Owner: set to Eric Pettersen
Platform: all
Project: ChimeraX
Status: newaccepted
Summary: ChimeraX bug report submissionPyQt no longer accepting previously acceptable arguments

comment:2 by Eric Pettersen, 2 years ago

Reproduce with:

open 1mtx
mm #1.1 to #1.2 show t

comment:3 by Eric Pettersen, 2 years ago

Which works in 1.6.1

comment:4 by Zach Pearson, 2 years ago

This reproduces on my dev build, even after updating to PyQt 6.5.1

comment:5 by Zach Pearson, 2 years ago

QColor(*color.astype(int)) perhaps. I think type checking is a little stronger in PyQt6 on 3.11. I tried porting ChimeraX to use QtOpenGL one weekend, and it was being pedantic in terrible ways.

comment:6 by Eric Pettersen, 2 years ago

Yes, I can definitely fix these by hand. I had already fixed a couple in a code branch before realizing that this was going to happen all over the place and would only evidence itself when a particular code path got executed -- which is really bad.

comment:7 by Zach Pearson, 2 years ago

I've started grepping through the code to find lines that could be affected by these issues. Currently my command is up to this:

rg "Q.*\(" | grep -v -e "QWidget" -e "QPushButton" -e "QVBoxLayout" -e "QTreeWidgetItem" -e "QComboBox" -e "QFormLayout" -e "QHBoxLayout" -e "QMessageBox" -e "QActon" -e "Queue" -e "QLabel" -e "QSize" -e "QCheckBox" -e "QStatusBar" -e "QMenu" -e "import" -e "jquery" -e "qt_object_is_deleted" -e "QDoubleSpinBox" -e "QWindow" -e "QTimer" -e "QFileDialog" -e "QTreeWidget" -e "QAction" -e "QTextEdit" -e "QLineEdit" -e "QTabWidget" -e "QRadioButton" -e "QGridLayout" -e "QGroupBox" -e "QBoxLayout" -e "QFontRole" -e "QApplication"

Trying to exclude Qt types that aren't susceptible to these kinds of errors. Then when I hit all the code paths that use one of the types that remain and verify it works, I'll add it to the command. Currently trying to exclude QPen.

But I'm thinking it would maybe also be useful for us to ask Riverbank why 3.11 PyQt is so much stricter than 3.9 PyQt.

Last edited 2 years ago by Zach Pearson (previous) (diff)

comment:8 by Greg Couch, 2 years ago

There was a change in Python's enum support that's coming in 3.11.4 that 
breaks PyQt that's being discussed on the PyQt mailing list.  Perhaps 
that already started in 3.11.2.

     -- Greg

comment:9 by Zach Pearson, 2 years ago

I'd be interested in having that email chain forwarded to me, or I guess I can also just join the mailing list and see it, but I don't think that's what's happening here. PyQt initializers are no longer coercing floats to ints, among other things.

comment:10 by Eric Pettersen, 2 years ago

I also don't understand what changed to cause this. In 1.6.1 the PyQt versions are:

PyQt6-commercial: 6.4.2
PyQt6-Qt6: 6.4.3
PyQt6-sip: 13.4.1
PyQt6-WebEngine-commercial: 6.4.0
PyQt6-WebEngine-Qt6: 6.4.3

In my local build (where this problem happens), they are:

PyQt6: 6.4.2
PyQt6-Qt6: 6.4.3
PyQt6-sip: 13.4.1
PyQt6-WebEngine: 6.4.0
PyQt6-WebEngine-Qt6: 6.4.3

The only difference seeming to be the use of the commercial wheel in 1.6.1 (but in the bug report above it is also using the commercial wheel). So is this somehow a change in Python 3.11?

comment:11 by Zach Pearson, 2 years ago

It's possible that it's this:

https://bugs.python.org/issue37999

Which is referenced from here:

https://bugzilla.redhat.com/show_bug.cgi?id=1901925

comment:12 by Eric Pettersen, 2 years ago

That is indeed it, which is described in the 3.10 release notes as:

"Builtin and extension functions that take integer arguments no longer accept Decimals, Fractions and other objects that can be converted to integers only with a loss (e.g. that have the int() method but do not have the index() method)."

comment:13 by Eric Pettersen, 2 years ago

So Zach, is the gist of comment #7 that you are trying to find and fix all these calls yourself? If so, I will hold off on changing anything...

comment:14 by Zach Pearson, 2 years ago

Yes. There are only a small number of calls to things like this, I count ~50 lines where this could be an issue and on many of them whatever's being initialized is already getting integers.

comment:15 by Zach Pearson, 2 years ago

Resolution: fixed
Status: acceptedclosed

There were surprisingly few calls that looked like they would be susceptible to this. I looked at some others, but in context they looked like they'd work OK. If more bug reports about this come up I'll take care of them.

comment:16 by Eric Pettersen, 2 years ago

Great! Thanks Zach.

Note: See TracTickets for help on using tickets.