-
Notifications
You must be signed in to change notification settings - Fork 41
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
typing installed unconditionally on all Pythons when installed from wheel #133
Comments
Not sure if this will fix it but to add my 2 cents: When I download the wheel of version 20.0.0 from PyPI (link: https://files.pythonhosted.org/packages/90/d0/37eb861a66061ec462c6f31ad2d4a2ebff7057c9dd17467e89665c97a834/hyperlink-20.0.0-py2.py3-none-any.whl) and manually unzip it, the
Note that the environment marker is missing. But when I build the wheel locally using
So maybe the problem is that the wheel was generated with an old toolchain that doesn't understand the environment marker? I am not an expert but presumably doing This currently breaks the pytest CI due to the pip bug @reaperhulk mentioned (ref: pytest-dev/pytest#7616). We will work around it but a fix in hyperlink would be best. |
(Breaks the jsonschema one too, and a couple other ones of mine which I tried to diagnose this morning -- @bluetech if you share whatever intermediate workaround you come up with would definitely appreciate it so I don't duplicate the work myself later) |
This comment has been minimized.
This comment has been minimized.
Old toolchain is definitely a possibility. I'll see about a rebuild + rerelease today. |
@reaperhulk I'm not following what needs to change in |
@twm agrees that new tooling fixes this. |
If it helps now or after another release using the existing release mechanism hyperlink uses, feel free to steal https://github.com/Julian/jsonschema/blob/master/.github/workflows/packaging.yml to do releases straight out of GH Actions. Happy of course to send a PR with it too (now or after another release) |
Yeah I've hit the same issue (with setup(
# ...
install_requires=[
'typing; python_version < "3.5"',
],
) I specify a newish minimum version in [build-system]
requires = [
"setuptools>=41.2.0",
"wheel",
]
build-backend = "setuptools.build_meta" I'm not sure what the actual minimum is, but my notes indicate setuptools 20-ish is too old. With older setuptools you had to use the old syntax: setup(
# ...
extras_require={
':python_version < "3.5"': ['typing'],
},
) |
@wsanchez Yeah I'm sure I'm wrong about the fix here 😄 |
It's like a party in here! By all means keep it going, but v20.0.1 is released, and I checked the wheel METADATA (thanks @bluetech!) before uploading, so I'm pretty sure the party'll have to continue in a closed issue 🎉 PS Missin y'all! See you next release/PyCon, whichever comes first. :) |
Woo! Release partayy |
Thanks @mahmoud ! |
hyperlink defines conditional requirements on install_requires in its setup.py
However, older setuptool cannot interpret this when building wheels so
typing
is installed unconditionally even on Python 3.5+. This is compounded by apip
isue where installed packages are improperly prioritized (pypa/pip#8272). To fix this you should read below so you don't get the wrong fix 😄The text was updated successfully, but these errors were encountered: