-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Build dependencies don't appear to support environment markers #5230
Comments
I have a patch for this, I'll PR it later, extras are not supported either. |
@dstufft @pradyunsg Are we sure this should be a release blocker targeted on 10.0.1? IMO this comes under "PEP 518 support is currently incomplete" and could be aimed at 10.1. There's currently a serious distlib bug (#5223) which I think warrants an emergency 10.0.1 fix to go into Python 3.7, but I'm not sure this does. Surely a simple workaround is for these projects to not rush into using PEP 518 features that we don't support yet? OTOH, I've no objection to including extra fixes in 10.0.1 if they are low-impact, so depending on the complexity of the PR @benoit-pierre is preparing, my concern may be for nothing :-) |
How do you specify extras when installing a wheel from an URL? |
Format it into a valid PEP 508 specifier? That should work. |
|
With a tarball, this work: > (cd tests/data/src/requires_simple_extra && python setup.py sdist)
> rm -rf tmp && PYTHONPATH=$PWD/src python -m pip install -v -t tmp "file://$PWD/tests/data/src/requires_simple_extra/dist/requires_simple_extra-0.1.tar.gz#egg=requires_simple_extra[extra]" But your suggestion does not work: > rm -rf tmp && PYTHONPATH=$PWD/src python -m pip install -v -t tmp "requires_simple_extra[extra]@file://$PWD/tests/data/src/requires_simple_extra/dist/requires_simple_extra-0.1.tar.gz" And with a wheel, this does not work either: > rm -rf tmp && PYTHONPATH=$PWD/src python -m pip install -v -t tmp "requires_simple_extra[extra]@file://$PWD/tests/data/packages/requires_simple_extra-0.1-py2.py3-none-any.whl" Additionally the fact that pip prints a warning if an extra is invalid (instead of erroring out) is going to be problematic when a build requirement is invalid. |
@benoit-pierre requested that #5245 be deferred till 10.1, so I'm removing the release blocker status from this issue. It's simply part of "PEP 518 support is incomplete at the moment" |
@pfmoore I just realized this should be mentioned in the docs -- the part talking about PEP 518. I can create a PR now, if it's not too late. |
@pradyunsg It's not too late. I'm not doing the release right now, just tidying stuff up in preparation. |
Hey all just in case - I was looking for a workaround and looks like this did the trick:
It sat in compilation for a while but eventually cleared out and appears to work now. Maybe this helps the next affected :) |
On Sat, 21 Apr 2018, 05:01 Alex Poliakov, ***@***.***> wrote:
Hey guys is there a recommended workaround for this?
One workaround is to pass --no-build-isolation and manually installing the
build time requirements of the package.
… —
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#5230 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ADH7SXzPykYwx4z1cB_oNEKGgIfh1fkyks5tqm-2gaJpZM4TVTC3>
.
|
See pypa/pip#5228, pypa/pip#5230 and pandas-dev/pandas#20697. But in the end, it was http://pandas.pydata.org/pandas-docs/stable/install.html: Python version support Officially Python 2.7, 3.5, and 3.6.
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Description:
The
requires
build dependency listings inpyproject.toml
doesn't appear to support PEP 508 environment markers.Several projects appear to have expected pip would support this: pandas, scipy, pywt,
What I've run:
The following reproducer shell script
This prints
I would have expected it picks the a single appropriate numpy version based on the requirements markers, instead of trying to install two different versions and failing. (The test script will ultimately fail when it tries to run the setup.py --- in my real use I of course have a working setup.py but the behavior is the same).
The text was updated successfully, but these errors were encountered: