Tox: virtualenv creates incorrect/broken python3 interpreters

Created on 27 Jul 2019  路  11Comments  路  Source: tox-dev/tox

as far as i can tell all released versions of virtualenv create a python interpreter with a broken venv module

it would be helpful if python3 interpreters would always use their respective venv module,
making the virtualenv code path something for only the legacy/dead python interpreters

currently i'm working around the issue by using tox-venv

normal

Most helpful comment

I hope by September, the thing is to test the new virtualenv I need a rewrite of tox first 馃槄 which is wip, but might park and finish first the rewrite 馃槑 of that

All 11 comments

virtualenv rewrite will do this which we'll switch to soon after 馃憤 I don't think your statement holds true generally though.

most things dont "break", but edge details like the venv module break for example

btw, whats the timeline for the rewrite? i recall that the rewrite branch of virtualenv is unfinished since ages now

I hope by September, the thing is to test the new virtualenv I need a rewrite of tox first 馃槄 which is wip, but might park and finish first the rewrite 馃槑 of that

@RonnyPfannschmidt if you're looking for a workaround, there's prior art in https://github.com/pre-commit/pre-commit/blob/376d283ba38a24a0df0dff8463f8474d1fd8e3d2/pre_commit/languages/python_venv.py#L21-L47

I think this issue is maybe on the wrong project though and should be on pypa/virtualenv instead?

GitHub
A framework for managing and maintaining multi-language pre-commit hooks. - pre-commit/pre-commit

Stopping to use virtualenv is hardly a issue that makes sense on virtualenv

@RonnyPfannschmidt but the core issue is "venv from virtualenv is broken" is it not -- that's kinda unrelated to tox

@asottile this is about tox using virtualeenv instead of venv for python3, this is not about virtualenv itself

@gaborbernat as far as i understood this one will auto-close with the next gen virtualenv once it lands?

tox will continue to use virtualenv even when that lands, just the internal mechanisms of virtualenv will change approach for py3

@RonnyPfannschmidt. If you need to use venv for Python 3, there is tox-venv, which was born out of #630.

@rpkilby thanks for the reference, i am currently using tox-venv to avoid tox breaking the world

Was this page helpful?
0 / 5 - 0 ratings