-
-
Notifications
You must be signed in to change notification settings - Fork 288
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Problems building venvs from certain distributions. #1656
Comments
The greenlet case seem to reveal a bug in
Whereas running pip not in any venv gives the expected
Although there is no leak, the include path is also not correct for venv installation. It should be The correct answer only presents when using the |
The selenium case does not appear to be corrected by any combination of install scheme or venv / non-venv. The absolute path entries simply appear to be bogus and duplicate and ignored by Pip. Pex should do the same and maybe warn. |
Alright, I think the right way to proceed here is to switch from using |
Alright, I've got this working save for a handful of ITs and a handful of unit tests using |
Alright, the only remaining problem is pypy gets a different layout under pip prefix installs than cpython. There are two problems here:
Still noodling on this, but it seems to me both are acceptable or will need to be. |
Alright, it turns out 1 was untrue, the pypy layout is not broken for the jupyter-server share/ data files case - it was just me wrongly assuming the nbconvert transitive dep carried those, when it was in fact ipykernel. I've managed to get all this working, but it's hefty in LOC. Simple idea, lots of layout details to get right. |
Previously Pex used Pip's `--target` scheme which had both known bugs (pypa/pip#7658) and unknown quirks that Pex was failing to fully be able to work around. Switch to the `--prefix` scheme which exactly mirrors the scheme venvs use so that venvs can be created with content of all sorts placed where it belongs. This removes fragile parsing and interpretation of the RECORD; now Pex only creates a RECORD, which is much more straight forward, when building a venv. Fixes pex-tool#1656
Previously Pex used Pip's `--target` scheme which had both known bugs (pypa/pip#7658) and unknown quirks that Pex was failing to fully be able to work around. Switch to the `--prefix` scheme which exactly mirrors the scheme venvs use so that venvs can be created with content of all sorts placed where it belongs. This removes fragile parsing and interpretation of the RECORD; now Pex only creates a RECORD, which is much more straight forward, when building a venv. Fixes pex-tool#1656
Previously Pex used Pip's `--target` scheme which had both known bugs (pypa/pip#7658) and unknown quirks that Pex was failing to fully be able to work around. Switch to the `--prefix` scheme which exactly mirrors the scheme venvs use so that venvs can be created with content of all sorts placed where it belongs. This removes fragile parsing and interpretation of the RECORD; now Pex only creates a RECORD, which is much more straight forward, when building a venv. Fixes pex-tool#1656
Previously Pex used Pip's `--target` scheme which had both known bugs (pypa/pip#7658) and unknown quirks that Pex was failing to fully be able to work around. Switch to the `--prefix` scheme which exactly mirrors the scheme venvs use so that venvs can be created with content of all sorts placed where it belongs. This removes fragile parsing and interpretation of the RECORD; now Pex only creates a RECORD, which is much more straight forward, when building a venv. Partially addresses #1655 by switching to sha256 for all external artifact hashing. Only internal hashing remains for: 1. `interpreters` / INTERP-INFO 2. `venvs` and `unzipped_pexes` / PEX-INFO pex_hash (but this is a hash that includes all distributions' sha256 hashes). Fixes #1656 Closes #1662
@asherf reports two cases:
The text was updated successfully, but these errors were encountered: