ImportError: cannot import name 'QPdfLinkModel' from 'PyQt6.QtPdf'

70 views
Skip to first unread message

Lukas-Fabian Moser

unread,
Jan 24, 2025, 10:16:00 AMJan 24
to Frescobaldi
Hi all,

thanks so much for working on the new Frescobaldi release!

I just pulled current git master, cleared my pipx installation and followed the installation instructions (including injection of up-to-date python-ly and qpageview trees).

For now, Frescobaldi works but cannot display the created PDF:

ImportError: cannot import name 'QPdfLinkModel' from 'PyQt6.QtPdf'


I'm on Ubuntu 24.04.1 LTS where apt show python3-pyqt6.qtpdf yields

Package: python3-pyqt6.qtpdf
Version: 6.6.1-2build4

If I understand https://doc.qt.io/qt-6/qpdflinkmodel.html correctly, QPdfLinkModel should be available from Qt 6.6 onwards, yet it does not seem to be contained in /usr/lib/python3/dist-packages/PyQt6/QtPdf.pyi

Google'ing for the problem, I find a similar bug report of Knute's on Launchpad (https://answers.launchpad.net/ubuntu/+source/pyqt6/+question/818878) but with no replies.

Do any of you have any idea what to do in this situation?

Lukas

Lukas-Fabian Moser

unread,
Jan 24, 2025, 11:03:00 AMJan 24
to Frescobaldi
Ok, to answer my own question: Simply use a current PyQt6 from pip instead of the Ubuntu-provided version. So, essentially:

sudo apt remove python3-pyqt6
pipx inject frescobaldi pyqt6

Maybe this is of help to someone.

Lukas

Federico Bruni

unread,
Jan 24, 2025, 11:35:33 AMJan 24
to fresc...@googlegroups.com
Hi Lukas

I made a check in a virtualenv just to be sure that the 6.6 minimum
version was Ok and it is.
So I think it's some problem in the Ubuntu configuration.

PyQt6.6.0 works and any later version should work as well.

Frescobaldi: 4.0.0
Extension API: 0.9.0
Python: 3.13.1
Git branch: briefcase
on commit: d92b33da
python-ly: 0.9.9
Qt: 6.6.0
PyQt: 6.6.0
qpageview: 1.0.0
OS: Linux-6.12.10-200.fc41.x86_64-x86_64-with-glibc2.40 (Fedora Linux
41 (Workstation Edition))
Installation kind: distro package or installed from source


These are the dependencies I've used in the virtualenv:

$ cat requirements-660.txt
pygame==2.6.1
PyQt6==6.6.0
PyQt6-Qt6==6.6.0
PyQt6-WebEngine==6.6.0
PyQt6-WebEngine-Qt6==6.6.0
PyQt6_sip==13.9.1
python-ly==0.9.9
qpageview==1.0.0


Il giorno ven 24 gen 2025 alle 08:02:59 -08:00:00, 'Lukas-Fabian Moser'
via Frescobaldi <fresc...@googlegroups.com> ha scritto:
> --
> Frescobaldi homepage: http://www.frescobaldi.org/
> Mailing list: http://groups.google.com/group/frescobaldi
> Issue tracker: https://github.com/frescobaldi/frescobaldi/issues
> ---
> You received this message because you are subscribed to the Google
> Groups "Frescobaldi" group.
> To unsubscribe from this group and stop receiving emails from it,
> send an email to frescobaldi...@googlegroups.com.
> To view this discussion visit
> https://groups.google.com/d/msgid/frescobaldi/f477ebfd-923b-4868-9130-9b2dbd17713dn%40googlegroups.com.


Knute Snortum

unread,
Jan 24, 2025, 11:50:38 AMJan 24
to fresc...@googlegroups.com
On Fri, Jan 24, 2025 at 8:03 AM 'Lukas-Fabian Moser' via Frescobaldi <fresc...@googlegroups.com> wrote:
Ok, to answer my own question: Simply use a current PyQt6 from pip instead of the Ubuntu-provided version. So, essentially:

sudo apt remove python3-pyqt6
pipx inject frescobaldi pyqt6

Maybe this is of help to someone.

I'm not sure that doing a `sudo apt remove python3-pyqt6` is the best move.  The OS may rely on it.  I used a Python virtual environment (venv) to install pyqt6 into.
 
Google'ing for the problem, I find a similar bug report of Knute's on Launchpad (https://answers.launchpad.net/ubuntu/+source/pyqt6/+question/818878) but with no replies.

Yeah, that post has been removed because it didn't get any replies.  I don't know why it was ignored (maybe I didn't describe the problem well enough.)

--
Knute Snortum

Lukas-Fabian Moser

unread,
Jan 24, 2025, 11:59:19 AMJan 24
to fresc...@googlegroups.com

Hello Knute,


I'm not sure that doing a `sudo apt remove python3-pyqt6` is the best move.  The OS may rely on it.  I used a Python virtual environment (venv) to install pyqt6 into.

Yes, that's true, but in my case, I had installed that apt package only just today for providing the Frescobaldi dependance, so it seemed both okay and best to simply remove it again now that I don't use it anymore.

Lukas

Lukas-Fabian Moser

unread,
Jan 24, 2025, 12:02:18 PMJan 24
to fresc...@googlegroups.com

Hi Federico,

That's interesting, thanks for making that test! Something strange seems to be going on in the Ubuntu 24.04 version of the python3-pyqt6 package. But I'm glad in works with pipx-provided pyqt6.

Lukas

Jean Abou Samra

unread,
Jan 24, 2025, 3:09:03 PMJan 24
to fresc...@googlegroups.com
Le vendredi 24 janvier 2025 à 17:59 +0100, 'Lukas-Fabian Moser' via
Frescobaldi a écrit :
In any case, apt will warn you what packages depending on python3-pyqt6
will be uninstalled, before actually uninstalling them, and ask you to
confirm. So you can just look at the list and check if you need them.

Let me look into what Ubuntu is doing here.

signature.asc

Jean Abou Samra

unread,
Jan 24, 2025, 4:03:24 PMJan 24
to fresc...@googlegroups.com
Le vendredi 24 janvier 2025 à 21:08 +0100, Jean Abou Samra a écrit :
> Let me look into what Ubuntu is doing here.

$ cd $(mktemp -d) \
&& curl -Os http://fr.archive.ubuntu.com/ubuntu/pool/universe/p/pyqt6/python3-pyqt6.qtpdf_6.6.1-2build4_amd64.deb \
&& ar -x python3-pyqt6.qtpdf_6.6.1-2build4_amd64.deb \
&& tar -xf data.tar.zst \
&& chmod u+x ./usr/lib/python3/dist-packages/PyQt6/QtPdf.abi3.so \
&& ldd ./usr/lib/python3/dist-packages/PyQt6/QtPdf.abi3.so | grep -i qt

libQt6Pdf.so.6 => /lib64/libQt6Pdf.so.6 (0x00007f6e80600000)
libQt6Core.so.6 => /lib64/libQt6Core.so.6 (0x00007f6e7fe00000)
libQt6Gui.so.6 => /lib64/libQt6Gui.so.6 (0x00007f6e7ee00000)
libQt6Network.so.6 => /lib64/libQt6Network.so.6 (0x00007f6e7ea00000)
libQt6DBus.so.6 => /lib64/libQt6DBus.so.6 (0x00007f6e7e73b000)



$ cd $(mktemp -d) \
&& curl -Os http://fr.archive.ubuntu.com/ubuntu/pool/universe/q/qt6-webengine/libqt6pdf6_6.6.2+dfsg-5ubuntu2_amd64.deb \
&& ar -x libqt6pdf6_6.6.2+dfsg-5ubuntu2_amd64.deb \
&& tar -xf data.tar.zst \
&& nm -gDC ./usr/lib/x86_64-linux-gnu/libQt6Pdf.so.6.6.2 | grep QPdfLinkModel

00000000002c3c00 T QPdfLinkModel::pageChanged(int)@@Qt_6
00000000002cadb0 T QPdfLinkModel::qt_metacall(QMetaObject::Call, int, void**)@@Qt_6
00000000002cacf0 T QPdfLinkModel::qt_metacast(char const*)@@Qt_6
00000000002d8810 T QPdfLinkModel::setDocument(QPdfDocument*)@@Qt_6
00000000002c3be0 T QPdfLinkModel::documentChanged()@@Qt_6
00000000002d86b0 T QPdfLinkModel::onStatusChanged(QPdfDocument::Status)@@Qt_6
000000000047e2c0 D QPdfLinkModel::staticMetaObject@@Qt_6
00000000002d87d0 T QPdfLinkModel::setPage(int)@@Qt_6
00000000002d38f0 T QPdfLinkModel::QPdfLinkModel(QObject*)@@Qt_6
00000000002d38f0 T QPdfLinkModel::QPdfLinkModel(QObject*)@@Qt_6
00000000002d4300 T QPdfLinkModel::~QPdfLinkModel()@@Qt_6
00000000002d4150 T QPdfLinkModel::~QPdfLinkModel()@@Qt_6
00000000002d4150 T QPdfLinkModel::~QPdfLinkModel()@@Qt_6
00000000002c2fd0 T QPdfLinkModel::metaObject() const@@Qt_6
00000000002d27e0 T QPdfLinkModel::data(QModelIndex const&, int) const@@Qt_6
00000000002d4340 T QPdfLinkModel::page() const@@Qt_6
00000000002d4350 T QPdfLinkModel::linkAt(QPointF) const@@Qt_6
00000000002d4330 T QPdfLinkModel::document() const@@Qt_6
00000000002cf140 T QPdfLinkModel::rowCount(QModelIndex const&) const@@Qt_6
00000000002cf550 T QPdfLinkModel::roleNames() const@@Qt_6
000000000047db20 D typeinfo for QPdfLinkModel@@Qt_6
0000000000468020 R typeinfo name for QPdfLinkModel@@Qt_6
000000000047e110 D vtable for QPdfLinkModel@@Qt_6



This tells that the build of QtPdf provided by Ubuntu 24.04
does have QPdfLinkModel. Now the question is why PyQt doesn't
make it available to Python.

signature.asc

Jean Abou Samra

unread,
Jan 24, 2025, 4:14:41 PMJan 24
to fresc...@googlegroups.com
Let's see if I guessed the problem correctly. Lukas or Knute,
can you please report the result of this command?

$ python -c 'from PyQt6 import QtPdf; print(dir(QtPdf)); print(dir(QtPdf.QPdfDocument))'

Thanks.

signature.asc

Jean Abou Samra

unread,
Jan 24, 2025, 4:17:56 PMJan 24
to fresc...@googlegroups.com
Also, please make sure you have an up-to-date
libqt6pdf6 package (sudo apt upgrade libqt6pdf6).
signature.asc

Lukas-Fabian Moser

unread,
Jan 24, 2025, 4:19:10 PMJan 24
to Frescobaldi
Hi Jean,

thanks for looking into this!

Your command yields:

['QPdfBookmarkModel', 'QPdfDocument', 'QPdfDocumentRenderOptions', 'QPdfLink', 'QPdfPageNavigator', 'QPdfPageRenderer', 'QPdfSearchModel', 'QPdfSelection', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']
['Error', 'MetaDataField', 'PageModelRole', 'Status', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'blockSignals', 'childEvent', 'children', 'close', 'connectNotify', 'customEvent', 'deleteLater', 'destroyed', 'disconnect', 'disconnectNotify', 'dumpObjectInfo', 'dumpObjectTree', 'dynamicPropertyNames', 'error', 'event', 'eventFilter', 'findChild', 'findChildren', 'getAllText', 'getSelection', 'getSelectionAtIndex', 'inherits', 'installEventFilter', 'isQuickItemType', 'isSignalConnected', 'isWidgetType', 'isWindowType', 'killTimer', 'load', 'metaData', 'metaObject', 'moveToThread', 'objectName', 'objectNameChanged', 'pageCount', 'pageCountChanged', 'pageLabel', 'pageModel', 'pageModelChanged', 'pagePointSize', 'parent', 'password', 'passwordChanged', 'property', 'pyqtConfigure', 'receivers', 'removeEventFilter', 'render', 'sender', 'senderSignalIndex', 'setObjectName', 'setParent', 'setPassword', 'setProperty', 'signalsBlocked', 'startTimer', 'staticMetaObject', 'status', 'statusChanged', 'thread', 'timerEvent', 'tr']

with (newly installed) Package: python3-pyqt6.qtpdf Version: 6.6.1-2build4

Lukas

Lukas-Fabian Moser

unread,
Jan 24, 2025, 4:20:46 PMJan 24
to Frescobaldi
The sudo apt upgrade libqt6pdf6 yields:

libqt6pdf6 ist schon die neueste Version (6.4.2-final+dfsg-12ubuntu9) (i.e. is already the most recent version)

Lukas-Fabian Moser

unread,
Jan 24, 2025, 4:26:48 PMJan 24
to Frescobaldi
... and to compare:

lukas@Aquarium:~$ .local/pipx/venvs/frescobaldi/bin/python3
Python 3.12.3 (main, Sep 11 2024, 14:17:37) [GCC 13.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

>>> from PyQt6 import QtPdf; print(dir(QtPdf)); print(dir(QtPdf.QPdfDocument))
['QPdfBookmarkModel', 'QPdfDocument', 'QPdfDocumentRenderOptions', 'QPdfLink', 'QPdfLinkModel', 'QPdfPageNavigator', 'QPdfPageRenderer', 'QPdfSearchModel', 'QPdfSelection', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']
['Error', 'MetaDataField', 'PageModelRole', 'Status', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'blockSignals', 'childEvent', 'children', 'close', 'connectNotify', 'customEvent', 'deleteLater', 'destroyed', 'disconnect', 'disconnectNotify', 'dumpObjectInfo', 'dumpObjectTree', 'dynamicPropertyNames', 'error', 'event', 'eventFilter', 'findChild', 'findChildren', 'getAllText', 'getSelection', 'getSelectionAtIndex', 'inherits', 'installEventFilter', 'isQuickItemType', 'isSignalConnected', 'isWidgetType', 'isWindowType', 'killTimer', 'load', 'metaData', 'metaObject', 'moveToThread', 'objectName', 'objectNameChanged', 'pageCount', 'pageCountChanged', 'pageIndexForLabel', 'pageLabel', 'pageModel', 'pageModelChanged', 'pagePointSize', 'parent', 'password', 'passwordChanged', 'property', 'pyqtConfigure', 'receivers', 'removeEventFilter', 'render', 'sender', 'senderSignalIndex', 'setObjectName', 'setParent', 'setPassword', 'setProperty', 'signalsBlocked', 'startTimer', 'staticMetaObject', 'status', 'statusChanged', 'thread', 'timerEvent', 'tr']

Jean Abou Samra

unread,
Jan 24, 2025, 4:27:42 PMJan 24
to fresc...@googlegroups.com
Great — that's exactly what I suspected. In the sources
of Ubuntu 24.04's PyQt6 package, downloaded from
http://archive.ubuntu.com/ubuntu/pool/universe/p/pyqt6/pyqt6_6.6.1.orig.tar.gz
I see that PyQt6-6.6.1/sip/QtPdf/qpdflinkmodel.sip is present,
but its SIP binding code is wrapped inside

%If (Qt_6_6_0 -)
...
%End

There is another place where this appears inside the QtPdf
subdirectory, namely in qpdfdocument.sip:

class QPdfDocument : QObject
{
...
%If (Qt_6_6_0 -)
int pageIndexForLabel(const QString &label);
%End
...
};

and your output of dir(QtPdf.QPdfDocument) shows that this
method is also missing in the package you have.

That means there is some issue in how Ubuntu builds PyQt6
where somehow it does not make "Qt_6_6_0" true even though
Qt 6.6+ is used.


signature.asc

Lukas-Fabian Moser

unread,
Jan 24, 2025, 4:34:58 PMJan 24
to Frescobaldi
Well, I even saw this %if ... when browsing through the package files on Launchpad, but I wasn't sure as to the meaning.

So do I understand it correctly that the python3-pyqt6.qtpdf package in Ubuntu 24.04 is corrupt? Looking through the files on https://launchpad.net/ubuntu/+source/pyqt6, I see that the QtPdf.pyi file in 24.04 (Noble Numbat) 6.6.1-2build4 does not define the QPdfLinkModel class, but the version in 24.10 (Oracular Oriole, ah the poetry) does, so the problem vanishes with more current.

But if I'm getting the meaning of "LTS" right, this is still a bug that should be reported and fixed, right?

Jean Abou Samra

unread,
Jan 24, 2025, 4:39:24 PMJan 24
to fresc...@googlegroups.com
Le vendredi 24 janvier 2025 à 13:34 -0800, 'Lukas-Fabian Moser' via
Frescobaldi a écrit :
> Well, I even saw this %if ... when browsing through the package files
> on Launchpad, but I wasn't sure as to the meaning.
>
> So do I understand it correctly that the python3-pyqt6.qtpdf package
> in Ubuntu 24.04 is corrupt?

Sort of. It's missing features added in Qt 6.6, even though
Ubuntu 24.04 has that version of Qt.

> Looking through the files on
> https://launchpad.net/ubuntu/+source/pyqt6, I see that the QtPdf.pyi
> file in 24.04 (Noble Numbat) 6.6.1-2build4 does not define the
> QPdfLinkModel class, but the version in 24.10 (Oracular Oriole, ah
> the poetry) does, so the problem vanishes with more current.

The .pyi files are autogenerated during the build, so it's not
a problem with the package sources but the build configuration.

> But if I'm getting the meaning of "LTS" right, this is still a bug
> that should be reported and fixed, right?

Yes, I'm writing the report right now.

signature.asc

Jean Abou Samra

unread,
Jan 24, 2025, 4:42:01 PMJan 24
to fresc...@googlegroups.com
Le vendredi 24 janvier 2025 à 22:39 +0100, Jean Abou Samra a écrit :
> Yes, I'm writing the report right now.

Wait, before that I'd like to understand if the problem only
occurs in QtPdf or in Qt as a whole. Can you also report the
result of, say,

$ python -c 'import PyQt6.QtCore; print(dir(PyQt6.QtCore.QFileInfo))'

? Thanks.
signature.asc

Lukas-Fabian Moser

unread,
Jan 24, 2025, 4:44:53 PMJan 24
to Frescobaldi
Thanks much for your help clearing this up (and also for writing up the bug report which would probably be out of my league)!

Bottom line is that in its present state, Frescobaldi 4.0 won't work on Ubuntu 24.04 when following the instructions in INSTALL.md.

Jean Abou Samra

unread,
Jan 24, 2025, 4:49:18 PMJan 24
to fresc...@googlegroups.com
Le vendredi 24 janvier 2025 à 13:44 -0800, 'Lukas-Fabian Moser' via
Frescobaldi a écrit :
> Thanks much for your help clearing this up (and also for writing up
> the bug report which would probably be out of my league)!
>
> Bottom line is that in its present state, Frescobaldi 4.0 won't work
> on Ubuntu 24.04 when following the instructions in INSTALL.md.
>

Yes. But the good news is that now that we don't depend
on python-poppler-qt5 being provided by the system, we
can change those instructions to just get all of
PyQt6 from PyPI. I'll report the bug, but I probably
won't put in a lot of time to fix it because for our
needs that should be enough.

This is a tough period for me for personal reasons,
but I'll try to do these INSTALL.md updates tomorrow,
external factors permitting.


signature.asc

Lukas-Fabian Moser

unread,
Jan 24, 2025, 5:07:42 PMJan 24
to Frescobaldi
Wait, before that I'd like to understand if the problem only
occurs in QtPdf or in Qt as a whole. Can you also report the
result of, say,

$ python -c 'import PyQt6.QtCore; print(dir(PyQt6.QtCore.QFileInfo))'

? Thanks.

Of course:

lukas@Aquarium:~$ python -c 'import PyQt6.QtCore; print(dir(PyQt6.QtCore.QFileInfo))'
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__fspath__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'absoluteDir', 'absoluteFilePath', 'absolutePath', 'baseName', 'birthTime', 'bundleName', 'caching', 'canonicalFilePath', 'canonicalPath', 'completeBaseName', 'completeSuffix', 'dir', 'exists', 'fileName', 'filePath', 'fileTime', 'group', 'groupId', 'isAbsolute', 'isAlias', 'isBundle', 'isDir', 'isExecutable', 'isFile', 'isHidden', 'isJunction', 'isNativePath', 'isReadable', 'isRelative', 'isRoot', 'isShortcut', 'isSymLink', 'isSymbolicLink', 'isWritable', 'junctionTarget', 'lastModified', 'lastRead', 'makeAbsolute', 'metadataChangeTime', 'owner', 'ownerId', 'path', 'permission', 'permissions', 'refresh', 'setCaching', 'setFile', 'size', 'stat', 'suffix', 'swap', 'symLinkTarget']

and:

lukas@Aquarium:~$ .local/pipx/venvs/frescobaldi/bin/python -c 'import PyQt6.QtCore; print(dir(PyQt6.QtCore.QFileInfo))'
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__fspath__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'absoluteDir', 'absoluteFilePath', 'absolutePath', 'baseName', 'birthTime', 'bundleName', 'caching', 'canonicalFilePath', 'canonicalPath', 'completeBaseName', 'completeSuffix', 'dir', 'exists', 'fileName', 'filePath', 'fileTime', 'group', 'groupId', 'isAbsolute', 'isAlias', 'isBundle', 'isDir', 'isExecutable', 'isFile', 'isHidden', 'isJunction', 'isNativePath', 'isReadable', 'isRelative', 'isRoot', 'isShortcut', 'isSymLink', 'isSymbolicLink', 'isWritable', 'junctionTarget', 'lastModified', 'lastRead', 'makeAbsolute', 'metadataChangeTime', 'owner', 'ownerId', 'path', 'permission', 'permissions', 'readSymLink', 'refresh', 'setCaching', 'setFile', 'size', 'stat', 'suffix', 'swap', 'symLinkTarget']

Jean Abou Samra

unread,
Jan 25, 2025, 11:46:43 AMJan 25
to fresc...@googlegroups.com
Wait??!

<https://packages.ubuntu.com/noble/libqt6pdf6>: libqt6pdf6 has
version 6.4.2 in Ubuntu 24.04.

Sourced from the package qt6-webengine which has version 6.4:
<https://packages.ubuntu.com/source/noble/qt6-webengine>

And likewise qt6-base has version 6.4:
<https://packages.ubuntu.com/source/noble/qt6-base>

I think we just got fooled by the PyQt6 version:
Ubuntu 24.04 uses Qt 6.4, but with PyQt 6.6, which
is compatible with Qt 6.6 and earlier. It was that
simple...

signature.asc

Lukas-Fabian Moser

unread,
Jan 25, 2025, 12:03:36 PMJan 25
to fresc...@googlegroups.com

Oh wow. So there are multiple version numbers to take care of - I hadn't thought of that.

But this means that Frescobaldi has a Qt6 version requirement in addition to the PyQt6 version requirement, right?


--
Frescobaldi homepage: http://www.frescobaldi.org/
Mailing list: http://groups.google.com/group/frescobaldi
Issue tracker: https://github.com/frescobaldi/frescobaldi/issues
---
You received this message because you are subscribed to the Google Groups "Frescobaldi" group.
To unsubscribe from this group and stop receiving emails from it, send an email to frescobaldi...@googlegroups.com.

Jean Abou Samra

unread,
Jan 25, 2025, 12:37:40 PMJan 25
to fresc...@googlegroups.com
Le samedi 25 janvier 2025 à 18:03 +0100, 'Lukas-Fabian Moser' via Frescobaldi a écrit :

> But this means that Frescobaldi has a Qt6 version requirement
> in addition to the PyQt6 version requirement, right?

Yes. However we cannot express that requirement in our pyproject.toml,
because that specifies the dependencies of packages we get from PyPI.
There is a single package "PyQt6" there, which always ships a bundled
Qt6 with the same version. Distros like Ubuntu can do it differently.
But to be honest, I'm still surprised by this discrepancy.

signature.asc
Reply all
Reply to author
Forward
0 new messages