Missing PyQt6-Qt6 6.1

Phil Thompson phil at riverbankcomputing.com
Fri Apr 16 09:27:57 BST 2021


On 14/04/2021 13:02, Florian Bruhin wrote:
> 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

I think this is all now fixed.

Thanks,
Phil


More information about the PyQt mailing list