-
-
Notifications
You must be signed in to change notification settings - Fork 529
tox is too cowardly to handle PyPy on Windows #1850
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
Comments
looks like pypy chose Line 752 in 4061f56
|
I disagree. IMHO here the issue is we're not interrogating the target environment about its sysconfig, but assuming hardcoded paths. 🤷🏻 Python distributions are free to change their directory layout as they wish and there's no PEP to restrict them in any way... |
@gaborbernat why didn't tox write its |
I'm not sure from the top of my head 🤔 |
the directory interrogation is really only meant for the situation where tox is replacing a |
Closing this as seems is a transient state. |
Transient? It happens every time I run the CI on that PR. |
I also didn't add PyPy testing on Windows for Twisted due to this. |
I can't reproduce, so it's something you're not showing I assume:
|
I'm not sure what I could be not showing in my public repositories and CI runs... Did you try reproducing using the PR that was shared as exposing the issue? I'm not surprised that an unrelated project doesn't have a problem. But sure, it doesn't happen everywhere. Anyways, I'll try to break down the change to get to something more specific since complete build records apparently aren't sufficient. Sorry there's some snark here, but suggesting I am keeping secrets doesn't really seem fair given everything noted above. |
my guess is you're using some plugin which is monkeypatching tox internals in a broken way and that's what's causing your problem I've demonstrated it's not an issue with tox note also that we're doing this for free and we're not your personal debugging service, so please have some empathy |
I'm trying to get the next version of a tool you use released... so likewise. I didn't complain about it not getting fixed quickly. I didn't complain about the closure, just tried to clarify. Being told I'm not sharing things when the complete code and build log are available is not reasonable. And you know perfectly well that a single case (that is not the reported one) working is not remotely close to evidence it isn't an issue with tox. But sure, there is a whole project involved here. |
It seems that PyPy 3.7 itself is unable to create a venv. Further it fails without a failure exit code from what I can tell. I noticed this locally first but recreated in CI for sharing. I'll try to dig into this in the PyPy direction. PyPy 3.6 does successfully create an env directly in CI and exhibits the same issue reported above when used via tox. The fact that 3.6 and 3.7 both have the same issue via tox but different issues when calling its venv directly leaves me thinking there is a PyPI issue and also another issue still that may be in tox. But sure, when there's an issue this flagrant in a relevant bit of the underlying tooling (PyPy venv), I understand that being a thing that should perhaps be explored first. PyPy 3.6: I noticed that the tree I provided in the initial report lacks the actual files, instead only listing the directories. Apparently Note that this exploration was added in the separate PR https://github.com./twisted/towncrier/pull/321/files. https://github.com./twisted/towncrier/pull/321/checks?check_run_id=1995458141 - name: Try creating an env
if: matrix.python.major == 3
run: |
python -m venv a_unique_env_directory
tree /f a_unique_env_directory
|
I'm 99% sure this will end up being a pypy bug and we can't do much here. |
PyPy3 on Windows uses lowercase Line 752 in 4061f56
|
The underlying issue here is that newer pypy patches the path for venv at https://foss.heptapod.net/pypy/pypy/-/blob/branch/py3.7/lib-python/3/venv/__init__.py#L128-137, rather than use |
The issue here is pypa/virtualenv#2071 |
@gaborbernat, thank you for your time digging into this. You are certainly more familiar with these mechanisms including how they should be the same and who should accommodate which variations. |
@gaborbernat actually, tox-wheel is what's breaking this -- they're monkeypatching tox's venv setup so it doesn't write the config out |
That's not a problem (though admittedly unfortunate behavior). Would you remove |
it doesn't for me, though one run of |
Do you have pypy3.7-7.3.3 on Windows? For me, that does replicate it (and remove tox-wheel). |
yep |
While working on twisted/towncrier#314 I started getting the
cowardly refusing to delete `envdir`
error.https://github.com./twisted/towncrier/pull/314/checks?check_run_id=1715424156
I just recreated it locally as well. Note that the
pep517
branch is over at https://github.com./altendky/towncrier/tree/ba56cc52d99810f93cfa3a2667025a06e7eda7e8.In GitHub Actions:
Locally:
tox run
tree of .tox
The text was updated successfully, but these errors were encountered: