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