Missing PyQt6-Qt6 6.1

Florian Bruhin me at the-compiler.org
Wed Apr 14 13:02:37 BST 2021


On Mon, Apr 12, 2021 at 06:16:56PM +0100, Phil Thompson wrote:
> 
> On 08/04/2021 13:10, Florian Bruhin wrote:
> > Hey,
> > 
> > I wanted to test my pytest-qt changes[1] with the last PyQt6 enum/flag
> > naming changes[2], but it looks like PyQt6 is currently uninstallable
> > from Riverbank's PyPI server:
> > 
> >    Looking in indexes: https://www.riverbankcomputing.com/pypi/simple/
> >    Collecting PyQt6
> >      Downloading
> > https://www.riverbankcomputing.com/pypi/packages/PyQt6/PyQt6-6.1.0.dev2104051108-cp36.cp37.cp38.cp39-abi3-manylinux_2_28_x86_64.whl
> > (6.7 MB)
> >    Collecting PyQt6-Qt6
> >      Using cached PyQt6_Qt6-6.0.2-py3-none-manylinux_2_28_x86_64.whl
> > (46.2 MB)
> >    ERROR: Cannot install PyQt6-Qt6 and pyqt6==6.1.0.dev2104051108
> > because these package versions have conflicting dependencies.
> > 
> >    The conflict is caused by:
> >        The user requested PyQt6-Qt6
> >        pyqt6 6.1.0.dev2104051108 depends on PyQt6-Qt6>=6.1
> > 
> > There's no PyQt6-Qt6>=6.1 on that server (neither on PyPI), which makes
> > sense because Qt 6.1 hasn't been released yet[3]. However, it looks like
> > PyQt6 has the requirement bumped already, and older snapshots are not
> > available anymore...
> > 
> > Ideally, there'd be a PyQt6-Qt6 wheel on the PyPI snapshot server which
> > packages the latest Qt 6.1 Beta 2 (and soon 3), but I'd be happy with
> > any solution which actually lets me install/test snapshots :)
> > 
> > (On a related note, I now have a nightly CI job[4] running my own
> > project's tests against PyQt from the snapshot server - only PyQt5 for
> > the moment until QtWebEngine is available with Qt 6, but after that, I
> > should be able to report potential regressions before releases due to
> > that)
> 
> I think everything is now in place.

Unfortunately I still can't install with a clean virtualenv:

    $ pip install --index-url https://www.riverbankcomputing.com/pypi/simple/ --pre --upgrade PyQt6
    Looking in indexes: https://www.riverbankcomputing.com/pypi/simple/
    Collecting PyQt6
      Downloading https://www.riverbankcomputing.com/pypi/packages/PyQt6/PyQt6-6.1.0.dev2104101804-cp36.cp37.cp38.cp39-abi3-manylinux_2_28_x86_64.whl (6.7 MB)
      Downloading https://www.riverbankcomputing.com/pypi/packages/PyQt6/PyQt6-6.1.0.dev2104051108-cp36.cp37.cp38.cp39-abi3-manylinux_2_28_x86_64.whl (6.7 MB)
    ERROR: Cannot install pyqt6==6.1.0.dev2104051108 and pyqt6==6.1.0.dev2104101804 because these package versions have conflicting dependencies.
    
    The conflict is caused by:
        pyqt6 6.1.0.dev2104101804 depends on PyQt6-Qt6>=6.1
        pyqt6 6.1.0.dev2104051108 depends on PyQt6-Qt6>=6.1
    
    To fix this you could try to:
    1. loosen the range of package versions you've specified
    2. remove package versions to allow pip attempt to solve the dependency conflict
    
    ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies

Looks like 6.1.0b3 doesn't match >=6.1:

    $ pip install --verbose --index-url https://www.riverbankcomputing.com/pypi/simple/ --pre --upgrade 'PyQt6-Qt6>=6.1'
    [...]
      Found link https://www.riverbankcomputing.com/pypi/packages/PyQt6-Qt6/PyQt6_Qt6-6.1.0b3-py3-none-manylinux_2_28_x86_64.whl#md5=952f8fba31fc4515b8b3fe24e95978c4 (from https://www.riverbankcomputing.com/pypi/simple/pyqt6-qt6/), version: 6.1.0b3
    [...]
    ERROR: Could not find a version that satisfies the requirement PyQt6-Qt6>=6.1

and indeed:

    >>> from pip._vendor.packaging.version import Version
    >>> Version('6.1.0b3') >= Version('6.1')
    False

I'm not too familiar with PEP 440, but maybe PyQt6 should depend on
PyQt6-Qt6>=6.1dev or so?

From what I understand that is equivalent to 6.1.dev0 and
gets sorted before any alpha/beta releases:

    https://www.python.org/dev/peps/pep-0440/
    
    Within a numeric release (1.0, 2.7.3), the following suffixes are
    permitted and MUST be ordered as shown:

    .devN, aN, bN, rcN, <no suffix>, .postN

thus:

    >>> from pip._vendor.packaging.version import Version
    >>> Version('6.1.0b3') >= Version('6.1dev')
    True

Florian

-- 
            me at the-compiler.org | https://www.qutebrowser.org 
       https://bruhin.software/ | https://github.com/sponsors/The-Compiler/
       GPG: 916E B0C8 FD55 A072 | https://the-compiler.org/pubkey.asc
             I love long mails! | https://email.is-not-s.ms/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20210414/062e0789/attachment.sig>


More information about the PyQt mailing list