-
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
Using pip download to fetch package sources seems to trigger building wheels for some packages. #8387
Comments
I made a quick test in verbose mode, and it appears that part of the slowdown comes from
Nevertheless, that still involves some C compilation which does not occur with There is ongoing discussion on how/whether |
Naive question: why is it needed to build numpy or create its build environment when you only want to download the source code? Is it to get some metadata that is only available from a wheel? |
Precisely that. |
And how do you get that metadata in case of |
|
I looked into this a bit further and it appears that setuptools' implementation of PEP 517
That explains the performance difference, although I can't explain myself why dist_info and egg_info behave differently, the resulting metadata (METADATA vs PKG-INFO) being very similar. |
Numpy has a highly customised See |
Why does downloading an sdist need metadata from a wheel in the first place? |
Appears to be related to (duplicate of?) #7995. |
Closing this in favour of #7995. |
Environment
Description
In numpy/numpy#14053 we observed that
python3 -m pip download --dest /tmp numpy==1.18.0 --no-binary :all: --no-use-pep517
finishes immediately, while:
python3 -m pip download --dest /tmp numpy==1.18.0 --no-binary :all:
takes a while to complete.
We originally noticed the slowdown in https://issues.apache.org/jira/browse/ARROW-8983.
The command
python -m pip download --dest /tmp pyarrow==0.17.0 --no-binary :all:
also gets stuck for a few minutes with "Installing build dependencies ... ", and increased CPU usage when pip downloads sources ofnumpy
, a dependency ofpyarrow
. Interestingly, in case ofpyarrow
, adding--no-use-pep517
does not help.Is there an inefficiency in
pip download
, or it's a known behavior and is considered WAI?Thank you.
The text was updated successfully, but these errors were encountered: