Photini
Photini copied to clipboard
NSRangeException on macOS with PyQt6
I just configured Photini with PyQt6 in a conda environment but am not able to click on any of the tabs. This is what happens:
Console output of setup and stack trace
$ micromamba create -n tmp -c conda-forge python=3.8 -y
$ micromamba activate tmp
$ pip3 install photini
$ photini-configure
Which Qt package would you like to use?
0 PyQt5 [not installed]
1 PySide2 [not installed]
2 PyQt6 [not installed]
3 PySide6 [not installed]
Choose 0/1/2/3 [2]: 2
Would you like to upload pictures to Flickr? (y/n) [y]: n
Would you like to upload pictures to Google Photos? (y/n) [y]: n
Would you like to upload pictures to Ipernity? (y/n) [y]: n
Would you like to upload pictures to Pixelfed or Mastodon? (y/n) [y]: n
Would you like to check spelling of metadata? (y/n) [y]: n
Would you like to import GPS track data? (y/n) [y]: n
Would you like to make higher quality thumbnails? (y/n) [y]: n
Would you like to import pictures from a camera? (y/n) [y]: n
…
Successfully installed PyQt6-6.6.1 PyQt6-Qt6-6.6.1 PyQt6-WebEngine-6.6.0 PyQt6-WebEngine-Qt6-6.6.1 PyQt6-sip-13.6.0
$ photini --version
No module named 'enchant'
No module named 'gpxpy'
Photini 2024.2.0
Python 3.8.18 | packaged by conda-forge | (default, Dec 23 2023, 17:25:47)
[Clang 16.0.6 ]
python-exiv2 0.16.1, exiv2 0.27.7
PyQt 6.6.1, Qt 6.6.1, locale en
ffmpeg version 6.1.1 Copyright (c) 2000-2023 the FFmpeg developers
available styles: macOS, Windows, Fusion
using style: macos
$ photini
No module named 'enchant'
No module named 'gpxpy'
No module named 'requests_oauthlib'
No module named 'requests_toolbelt'
No module named 'requests_oauthlib'
No module named 'requests_oauthlib'
qt.qpa.fonts: Populating font family aliases took 75 ms. Replace uses of missing font family "DejaVu Sans" with one that exists to avoid this cost.
doh set to "" -- SystemOnly
*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndexedSubscript:]: index 0 beyond bounds for empty array'
*** First throw call stack:
(
0 CoreFoundation 0x0000000189412800 __exceptionPreprocess + 176
1 libobjc.A.dylib 0x0000000188f09eb4 objc_exception_throw + 60
2 CoreFoundation 0x0000000189388fc0 -[__NSCFString hasSuffix:] + 0
3 libqcocoa.dylib 0x0000000107656044 _ZN20QCocoaSystemTrayIcon13emitActivatedEv + 274796
4 libqcocoa.dylib 0x00000001076560c8 _ZN20QCocoaSystemTrayIcon13emitActivatedEv + 274928
5 libqcocoa.dylib 0x0000000107654688 _ZN20QCocoaSystemTrayIcon13emitActivatedEv + 268208
6 QtWidgets 0x0000000105a311a8 _ZN9QListView16selectionChangedERK14QItemSelectionS2_ + 204
7 QtCore 0x0000000101ed348c _ZN11QMetaObject8activateEP7QObjectPKS_iPPv + 3808
8 QtCore 0x0000000102099e44 _ZN19QItemSelectionModel20emitSelectionChangedERK14QItemSelectionS2_ + 216
9 QtCore 0x0000000102099a2c _ZN19QItemSelectionModel6selectERK14QItemSelection6QFlagsINS_13SelectionFlagEE + 636
10 QtCore 0x000000010209970c _ZN19QItemSelectionModel6selectERK11QModelIndex6QFlagsINS_13SelectionFlagEE + 68
11 QtCore 0x000000010209a8cc _ZN19QItemSelectionModel15setCurrentIndexERK11QModelIndex6QFlagsINS_13SelectionFlagEE + 260
12 QtWidgets 0x000000010588f338 _ZNK9QComboBox5countEv + 828
13 QtWidgets 0x00000001058928b4 _ZN9QComboBoxC1ER16QComboBoxPrivateP7QWidget + 2412
14 QtCore 0x0000000101ed3224 _ZN11QMetaObject8activateEP7QObjectPKS_iPPv + 3192
15 QtCore 0x0000000102082944 _ZN18QAbstractItemModel13endInsertRowsEv + 200
16 QtGui 0x0000000104d777a4 _ZN18QStandardItemModel11itemChangedEP13QStandardItem + 2376
17 QtWidgets 0x0000000105895910 _ZN9QComboBox10insertItemEiRK5QIconRK7QStringRK8QVariant + 368
18 QtWidgets.abi3.so 0x0000000105fe27a0 _ZL22meth_QComboBox_addItemP7_objectS0_S0_ + 256
19 python3.8 0x0000000100a9992c cfunction_call_varargs + 288
20 python3.8 0x0000000100a9903c _PyObject_MakeTpCall + 744
21 python3.8 0x0000000100b878c0 call_function + 612
22 python3.8 0x0000000100b83f04 _PyEval_EvalFrameDefault + 27928
23 python3.8 0x0000000100a99d68 function_code_fastcall + 128
24 python3.8 0x0000000100a99524 PyVectorcall_Call + 120
25 python3.8 0x0000000100b841cc _PyEval_EvalFrameDefault + 28640
26 python3.8 0x0000000100b7cbd4 _PyEval_EvalCodeWithName + 3040
27 python3.8 0x0000000100a99ecc _PyFunction_Vectorcall + 208
28 python3.8 0x0000000100a9d2f4 method_vectorcall + 164
29 python3.8 0x0000000100b87828 call_function + 460
30 python3.8 0x0000000100b83f04 _PyEval_EvalFrameDefault + 27928
31 python3.8 0x0000000100a99d68 function_code_fastcall + 128
32 python3.8 0x0000000100a99524 PyVectorcall_Call + 120
33 python3.8 0x0000000100b841cc _PyEval_EvalFrameDefault + 28640
34 python3.8 0x0000000100b7cbd4 _PyEval_EvalCodeWithName + 3040
35 python3.8 0x0000000100a99ecc _PyFunction_Vectorcall + 208
36 python3.8 0x0000000100a9d45c method_vectorcall + 524
37 python3.8 0x0000000100a99524 PyVectorcall_Call + 120
38 QtCore.abi3.so 0x0000000101bc23c0 _ZNK8PyQtSlot4callEP7_objectS1_ + 68
39 QtCore.abi3.so 0x0000000101bc222c _ZNK8PyQtSlot6invokeEPPvP7_objectS0_b + 296
40 QtCore.abi3.so 0x0000000101bc2354 _ZNK8PyQtSlot6invokeEPPvP7_objectS0_ + 16
41 QtCore.abi3.so 0x0000000101bc6ed4 _ZL18qt_metacall_workerP17_sipSimpleWrapperP11_typeobjectP11_sipTypeDefN11QMetaObject4CallEiPPv + 632
42 QtWidgets.abi3.so 0x0000000105e35950 _ZN14sipQMainWindow11qt_metacallEN11QMetaObject4CallEiPPv + 88
43 QtCore 0x0000000101ed31f4 _ZN11QMetaObject8activateEP7QObjectPKS_iPPv + 3144
44 QtWidgets 0x0000000105965fc0 _ZN10QTabWidget5clearEv + 972
45 QtCore 0x0000000101ed348c _ZN11QMetaObject8activateEP7QObjectPKS_iPPv + 3808
46 QtWidgets 0x00000001059493a8 _ZN7QTabBar15setCurrentIndexEi + 440
47 QtWidgets 0x000000010594d1c0 _ZN7QTabBar17mouseReleaseEventEP11QMouseEvent + 436
48 QtWidgets.abi3.so 0x0000000105de0304 _ZN10sipQTabBar17mouseReleaseEventEP11QMouseEvent + 148
49 QtWidgets 0x00000001057c58b8 _ZN7QWidget5eventEP6QEvent + 132
50 QtWidgets 0x000000010594b258 _ZN7QTabBar5eventEP6QEvent + 736
51 QtWidgets.abi3.so 0x0000000105ddf91c _ZN10sipQTabBar5eventEP6QEvent + 224
52 QtWidgets 0x000000010577c594 _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent + 272
53 QtWidgets 0x000000010577e5c0 _ZN12QApplication6notifyEP7QObjectP6QEvent + 5072
54 QtWidgets.abi3.so 0x0000000105eeb224 _ZN15sipQApplication6notifyEP7QObjectP6QEvent + 248
55 QtCore 0x0000000101e89474 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent + 292
56 QtWidgets 0x000000010577cb34 _ZN19QApplicationPrivate14sendMouseEventEP7QWidgetP11QMouseEventS1_S1_PS1_R8QPointerIS0_Ebb + 808
57 QtWidgets 0x00000001057da860 _ZNK21QWidgetRepaintManager3rhiEv + 11080
58 QtWidgets 0x00000001057d9a6c _ZNK21QWidgetRepaintManager3rhiEv + 7508
59 QtWidgets 0x000000010577c594 _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent + 272
60 QtWidgets 0x000000010577d3e8 _ZN12QApplication6notifyEP7QObjectP6QEvent + 504
61 QtWidgets.abi3.so 0x0000000105eeb224 _ZN15sipQApplication6notifyEP7QObjectP6QEvent + 248
62 QtCore 0x0000000101e89474 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent + 292
63 QtGui 0x0000000104ad39ec _ZN22QGuiApplicationPrivate17processMouseEventEPN29QWindowSystemInterfacePrivate10MouseEventE + 1740
64 QtGui 0x0000000104b2f674 _ZN22QWindowSystemInterface22sendWindowSystemEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE + 408
65 libqcocoa.dylib 0x00000001075f7d74 qt_plugin_instance + 58768
66 CoreFoundation 0x000000018939dcfc __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
67 CoreFoundation 0x000000018939dc90 __CFRunLoopDoSource0 + 176
68 CoreFoundation 0x000000018939da00 __CFRunLoopDoSources0 + 244
69 CoreFoundation 0x000000018939c5f0 __CFRunLoopRun + 828
70 CoreFoundation 0x000000018939bc5c CFRunLoopRunSpecific + 608
71 HIToolbox 0x0000000193918448 RunCurrentEventLoopInMode + 292
72 HIToolbox 0x00000001939180d8 ReceiveNextEventCommon + 220
73 HIToolbox 0x0000000193917fdc _BlockUntilNextEventMatchingListInModeWithFilter + 76
74 AppKit 0x000000018cb76c54 _DPSNextEvent + 660
75 AppKit 0x000000018d34cebc -[NSApplication(NSEventRouting) _nextEve
libc++abi: terminating due to uncaught exception of type NSException
zsh: abort photini
I'm using macOS 14.1.2 on a M1 Mac mini.
Side note: I first tried using PySide6 but got a segmentation fault before the window was able to appear.