Installation error using https://dist.plone.org/release/6.0-dev/constraints.txt

I get this error during (pip) installation using this constraints file:
https://dist.plone.org/release/6.0-dev/constraints.txt

INFO: pip is looking at multiple versions of zope-testbrowser to determine which version is compatible with other requirements. This could take a while.

The conflict is caused by:
    zope-testbrowser 7.0 depends on WebTest>=2.0.30
    The user requested (constraint) webtest==3.0.1,==3.0.3

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip to attempt to solve the dependency conflict

ERROR: Cannot install Zope because these package versions have conflicting dependencies.
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

I'm wondering if the problem might be that webtest is definded twice at "6.0-dev/constraints.txt":

...
WebTest==3.0.1
...
webtest==3.0.3

Using
https://dist.plone.org/release/6.0.14/constraints.txt
where "WebTest" is defined only once works.

We hit that in plone.api, and it was fixed in try to fix constraints for tox test env by davisagli · Pull Request #564 · plone/plone.api · GitHub.

Try again.

If you still have an issue, please describe what procedure your followed so we can reproduce it. You provided zero steps to reproduce what you did.

I have a similar scenario: I am developing an addon and have a tox.ini (generated by plone meta - with some modifications).

The above error is show when running test environment.

I have changed constraints as show in the pull request. Now installation works but zope-testrunner raises

.../lib/python3.12/site-packages/pkg_resources/__init__.py", line 929, in _resolve_dist
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'repoze.xmliter' distribution was not found and is required by plone.protect

repoze.xmliter is installed:

.tox/test-with-chromium/bin/pip list |grep xmliter
repoze.xmliter                      0.6.1

I do not think that my modifications at test environment are important for that problem, but for the sake of completenes:

[testenv:test-with-{firefox,chromium,out-browser}]
description = run the distribution tests with a specific browser or without browser
use_develop = true
skip_install = false
constrain_package_deps = true
set_env =
    firefox: ROBOT_BROWSER=headlessfirefox
    chromium: ROBOT_BROWSER=headlesschrome
    out-browser: ROBOT_BROWSER=
    firefox: browser=firefox
    chromium: browser=chromium
    out-browser: browser=--skip-browsers
    firefox,chromium: testrunnerargs=--all
    out-browser: testrunnerargs=
    zope_i18n_compile_mo_files=true

deps =
    zope.testrunner -c https://dist.plone.org/release/6.0-dev/constraints.txt
    
commands =
    # this is not working atm
    #rfbrowser init {env:browser}
    zope-testrunner {env:testrunnerargs} --test-path={toxinidir}/src -s my.package {posargs}
extras =
    test

Just saw that I have got the wrong version of repoze.xmliter, so I added repoze.xmliter -c https://dist.plone.org/release/6.0-dev/constraints.txt and PIP_CONSTRAINTS=https://dist.plone.org/release/6.0-dev/constraints.txt to tox.ini.

...
set_env =
   ...
    PIP_CONSTRAINTS=https://dist.plone.org/release/6.0-dev/constraints.txt

deps =
    zope.testrunner -c https://dist.plone.org/release/6.0-dev/constraints.txt
    repoze.xmliter -c https://dist.plone.org/release/6.0-dev/constraints.txt
...

But tox still installs "0.6.1" and not "1.0b1" as in 6.0-dev/constraints.txt

I do not know what changed overnight - but now my tests do not complain about missing repoze.xmliter anymore.

So

deps =
    zope.testrunner -c https://dist.plone.org/release/6.0-dev/constraints.txt

is working - THX!