-
Notifications
You must be signed in to change notification settings - Fork 38
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
test_custom_shebang fails with system (Gentoo) install of PyPy3 #204
Comments
Which version of PyPy3 are you using? The tests via GitHub Actions are passing with pypy-3.9. |
7.3.12. It only happens if PyPy is installed system-wide. When it's run from an isolated tree, it happily copies everything included. |
Could it be distro-related? For example, venv is unbundled from Python in e.g. Ubuntu - you have to install the |
The stdlib |
Well, there definitely is some regression in PyPy itself because this used to work somehow. Nevertheless, using copy approach is a very bad idea anyway because it means venv copies the whole |
Really? Not just |
Yes, PyPy vendors a bunch of system shared libraries for portability, so it needs to copy them to venv. However, this has a side effect that when it's installed into the system it doesn't discriminate which libraries it actually needs. |
What happens on Windows? Symlinks don't work on all versions, so copying is usually used on Windows. |
Sorry, I have no clue about Windows. There's no Gentoo/Windows ;-). |
That said, I suppose there's no "system-wide" install to consider on Windows in the first place. I think the cleanest solution for the time being would be to replicate the "copy on Windows, symlinks elsewhere" logic from |
Perhaps, but it seems like PyPy needs to address some issues on their side ... |
Sure, and they're working on it. However, it's going to take quite some time before it gets done and deployed. |
Thanks a lot! |
Describe the bug
To Reproduce
Expected behavior
Tests passing ;-).
Environment
Additional information
stdout
contains:b"ModuleNotFoundError: No module named 'encodings'\ndebug: OperationError:\ndebug: operror-type: ModuleNotFoundError\ndebug: operror-value: No module named 'encodings'\n"
FWICS this is because you're creating a venv without passing
symlinks=True
, and venv copies incomplete (nonfunctional) PyPy executable there. That said, I have no clue why thevenv
module has different defaults thanpython -m venv ...
invocation.The text was updated successfully, but these errors were encountered: