On 2019-09-12 20:50:35 +0200 (+0200), Dominig ar Foll (Intel Open Source) wrote: [...]
Is there any simpler way to check how a page would look before commiting it in Gerrrit ? [...]
"Simpler" is a relative term. Since tox is being used here to abstract away building a dedicated Python virtual environment, installing documentation build dependencies and running Sphinx commands to convert reStructuredText markup into HTML content, you would basically need to perform the same steps yourself instead (make sure your current working directory is the top-level directory of the Git repository's worktree): virtualenv -p python3 mydocs mydocs/bin/pip install -c https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraint... -r doc/requirements.txt mydocs/bin/sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html The commands above were inferred from the tox.ini file in that project. Resulting content should appear in the doc/build/html directory. Of course, I fully expect you'll see virtualenv break there the same way it does when tox tries to call it, but it's worth a try. I'm unable to reproduce the error on my systems so it's tough to be certain. As far as troubleshooting what's gone sideways with your tox setup, what version of virtualenv are you using? I see it's calling pip 19.1.1 according to the output you quoted, but it doesn't seem to mention the virtualenv version. Some additional Web searching suggests this error can be a result of using a too-new version of pip with a too-old version of virtualenv, so if that seems to be the case you might see if you can either upgrade the version of virtualenv to something as recent as the version of pip (seems https://pypi.org/project/pip/#history says it was released in May of this year so you might try virtualenv>=16.6), or downgrade the version of pip to something contemporary with the version of virtualenv you've got. Another possibility is that this stems from mixing a distro package of one with a PyPI package of the other. Linux distributions often "debundle" or strip out "vendored" copies of libraries like the requests package in pip's _vendor tree, and instead expect applications to import it from an equivalent distro-provided package as a dependency to reduce duplication. Knowing how you set up your development environment might be useful information in trying to guess at the reason tox is basically broken for you. -- Jeremy Stanley