Skip to content
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

pip 20 and pypy - changes needed to pep425tags.py #328

Closed
mattip opened this issue Jan 21, 2020 · 7 comments
Closed

pip 20 and pypy - changes needed to pep425tags.py #328

mattip opened this issue Jan 21, 2020 · 7 comments
Labels

Comments

@mattip
Copy link
Contributor

mattip commented Jan 21, 2020

pip20 now uses packaging.tags, not pep425tags.py, but wheel does not seem to have made that change yet. This breaks building wheels for PyPy, since the semantics of the python tag changed.
At a minimum, the pypy-specific stanza should be removed from get_impl_version_info, so the implementation becomes a one-liner sys.version_info[0], sys.version_info[1]. Are there plans to transition wheel to packaging.tags?

Is there a way to add PyPy to the testing matrix for wheel?

See pypa/packaging#233, pypa/packaging#184, and pypa/pip#7629

@mattip
Copy link
Contributor Author

mattip commented Jan 21, 2020

I see there is an entry in the travis CI for pypy. Is wheel testing with pip20?

@agronholm
Copy link
Contributor

I've switched wheel to use Github Actions instead of Travis, and PyPy3 is part of the matrix now. The test suite does not involve calling pip.

I will look at packaging.tags to see if wheel can use them.

agronholm added a commit that referenced this issue Jan 22, 2020
@agronholm
Copy link
Contributor

agronholm commented Jan 22, 2020

I've implemented the minimum required changes in pep425tags.py. Please test with the pypytags branch and report back here.

As for packaging.tags, it cannot replace pep425tags.py, at least not completely. I would also have to decide whether it's okay to add it as a dependency or to vendor it.

@mattip
Copy link
Contributor Author

mattip commented Jan 22, 2020

looks good to me. I tried it out and the wheel created is now lxml-4.5.0a0-pp36-pypy36_pp73-linux_x86_64.whl where master created lxml-4.5.0a0-pp373-pypy36_pp73-linux_x86_64.whl @antocuni, does this look right: pp36 in place of pp373?

@antocuni
Copy link

LGTM. I confirm that with the patched version of wheel, I can build a wheel and install it on PyPy

@agronholm
Copy link
Contributor

I'm going to cram a couple more PRs in and then make a release. Shouldn't take more than a few days max.

ncoghlan added a commit to ncoghlan/wheel that referenced this issue Jan 27, 2020
The resolution of issue pypa#328 removed the custom PyPy tagging
from `get_impl_version_info()`, this just cleans up the check
that forces PyPy to call that even if `py_version_nodot` was
already set.
agronholm pushed a commit that referenced this issue Jan 27, 2020
The resolution of issue #328 removed the custom PyPy tagging
from `get_impl_version_info()`, this just cleans up the check
that forces PyPy to call that even if `py_version_nodot` was
already set.
@pradyunsg
Copy link
Member

Hurrah! Thanks @agronholm! ^>^

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants