-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
DEP: remove setup_requires #12729
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
DEP: remove setup_requires #12729
Conversation
|
In my opinion this PR jumps to conclusion a bit too quick. I'd like to know why setup_requires stopped working before we kill it. |
It would be nice to know, but imho this is the right thing to do either way. I was never happy with having to use |
|
The lint failure on TravisCI is real. Azure failures may be unrelated. |
I think I agree with you, @ilayn. I would like to know too. All the packaging stuff in python is a huge huge confusing mess of unreliability and unannounced changes. But check it: pypa/setuptools#1684 (comment)
pypa/setuptools#1684 (comment)
pypa/setuptools#1684 (comment)
of course also pypa/setuptools#1684 (comment)
🤒 I assume they would say that So this is why I said PyPA is killing setup.py. I guess they're going to keep |
But, as it stands, |
|
I think I've changed my mind after reading the pypa thread. Nevermind what I said above :-) Whatever makes us stay away from any of that endless discussion I am fine with it. For regular users, wheels are working just fine and for the manual builds and installations, I think it is not an overreaching requirement to install the build-deps manually too. |
I know that. For people that don't know what they're doing and are running |
|
It seems unrelated to me. The Azure errors all say
and Azure links these reports about it: https://dev.azure.com/scipy-org/SciPy/_pipeline/analytics/stageawareoutcome?definitionId=1 it started failing a couple days before I started looking into this. |
I've tweaked the messages to guide people this way! What do you think about this? |
|
Just a drive by comment that Azure might be fixed by a rebase or merge now that #12730 is in |
This doesn't seem to work anymore. Most people will be installing with pip, which will pick up pyproject.toml and install the needed deps. For people who want to keep using "python setup.py install", replace setup_requires with a printed error. Addresses #12727.
🌷 |
|
It passed! Now, I don't know if this is what you want, but it's here for discussion. I should say, I'm planning on going camping this week so I'm going to be less responsive. The PR is marked editable-by-maintainers so hopefully that doesn't block you. Or we can keep sorting this out next week instead. |
rgommers
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @kousu, looks good overall, just a few small comments.
I marked this for the next release. I'll leave it open for a while, to make sure people have time to comment, given the potential impact of this change.
|
A couple of comments left, and there's a merge conflict as well now. @kousu could you update this? I'd like to get it merged. |
|
Ah fun, the This is with the latest We're likely getting the pip beta despite not asking for it (the install command is EDIT 2: reported at pypa/pip#9083 |
That's indeed not specific to this PR, seeing it on the master branch builds after other PR merges from today as well. |
Otherwise this installs pip 20.3b1 (unclear why), and that's broken in combination with the numpy nightly wheels with an underscore in the name (see pypa/pip#9083).
|
CI is green again due to the last commit, so in it goes. Thanks @kousu! |
|
Also, I'm going to make a note to backport that Travis config fix because it is affecting the maintenance branch pre-release CI entries in Travis. I can't cherry-pick it because it was squashed but it is a small enough change in any case. |
|
Yeah sorry about the squash - TravisCI is so backed up that I didn't want to fix up the commit history and wait another couple of hours for it to turn green again. |
Not requiring it when it is already installed breaks Debian package builds, which use setup.py install and translate requires to Debian package Depends. SciPy has reverted back to unconditionally requiring numpy too. Fixes: https://bugs.debian.org/1030653 See-also: scipy/scipy#12727 See-also: scipy/scipy#12729 See-also: scipy commit 988d69724c8ee963e45f8fedf9cba1ca18bf941d Reverts: wmayner#38 Reverts: commit b0dde3b.
Not requiring it when it is already installed breaks Debian package builds, which use setup.py install and translate requires to Debian package Depends. SciPy has reverted back to unconditionally requiring numpy too. Fixes: https://bugs.debian.org/1030653 See-also: scipy/scipy#12727 See-also: scipy/scipy#12729 See-also: scipy commit 988d69724c8ee963e45f8fedf9cba1ca18bf941d Reverts: wmayner#38 Reverts: commit b0dde3b.

This was supposed to install numpy and friends before trying to invoke the rest of setup.py (which imports/runs them) but it doesn't seem to work anymore.
Most people will be installing with pip, which will pick up pyproject.toml and install the needed deps. For people who want to keep using
python setup.py install, replacesetup_requireswith a printed error.Reference issue
Addresses #12727.
What does this implement/fix?
This removes
setup_requireswhich no longer works as intended.Additional information
I think
pip install -e .orpip install .should be the standard workflow, butpython setup.py installstill has lots of users: #12728 (comment)