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

bpo-29523: Update setuptools to 34.2.0 and bundle its dependencies. #67

Closed
wants to merge 1 commit into from

Conversation

stratakis
Copy link
Contributor

setuptools as of version 34.0.0, unbundled its dependencies and it started
depending on them, so in order to update the, bundled with python, setuptools
we also need to bundle its dependencies: pyparsing, packaging, appdirs and six.

See also: https://setuptools.readthedocs.io/en/latest/history.html#v34-0-0

setuptools as of version 34.0.0, unbundled its dependencies and it started
depending on them, so in order to update the, bundled with python, setuptools
we also need to bundle its dependencies: pyparsing, packaging, appdirs and six.

See also: https://setuptools.readthedocs.io/en/latest/history.html#v34-0-0
@the-knights-who-say-ni
Copy link

Hello, and thanks for your contribution!

I'm a bot set up to make sure that the project can legally accept your contribution by verifying you have signed the PSF contributor agreement (CLA).

Unfortunately we couldn't find an account corresponding to your GitHub username on bugs.python.org (b.p.o) to verify you have signed the CLA. This is necessary for legal reasons before we can look at your contribution. Please follow these steps to help rectify the issue:

  1. If you don't have an account on b.p.o, please create one
  2. Make sure your GitHub username is listed in "Your Details" at b.p.o
  3. If you have not already done so, please sign the PSF contributor agreement
  4. If you just signed the CLA, please wait at least a day and then check "Your Details" on bugs.python.org to see if your account has been marked as having signed the CLA (the delay is due to a person having to manually check your signed CLA)
  5. Reply here saying you have completed the above steps

Thanks again to your contribution and we look forward to looking at it!

@stratakis
Copy link
Contributor Author

Relevant issue: https://bugs.python.org/issue29523

Added also my github username to bpo, hopefully the bot will update the CLA label.

@stratakis
Copy link
Contributor Author

Also I think this change should be made as well for the 3.6 branch (maybe 3.5 as well?).

Copy link
Member

@dstufft dstufft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm generally against this change, and would prefer to instead wait for pip to implement PEP 518 which will allow us to remove setuptools from being bundled at all (See pypa/pip#4144).

@codecov
Copy link

codecov bot commented Feb 13, 2017

Codecov Report

Merging #67 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #67      +/-   ##
==========================================
+ Coverage   82.37%   82.37%   +<.01%     
==========================================
  Files        1427     1427              
  Lines      350948   350952       +4     
==========================================
+ Hits       289091   289095       +4     
  Misses      61857    61857

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 649a7ca...2933a5e. Read the comment docs.

@pfmoore
Copy link
Member

pfmoore commented Feb 13, 2017

I'm also reluctant to do this. It seems too likely that people will start to assume that the unbundled dependencies (six, appdirs, ...) are shipped with Python, and not specify their own dependencies correctly.

@stratakis
Copy link
Contributor Author

@dstufft Your point is quite reasonable from the upstream point of view.

As a downstream packager where setuptools is being unbundled and the system one is being used (thus updating it now means breakage due to missing wheels as is now), I'll have to follow this approach until PEP 518 is implemented.

Anyway feel free to close it if you disagree with the changes, I'll have to carry the patch downstream to fix the current Fedora issues but it can be removed later on.

@jaraco
Copy link
Member

jaraco commented Feb 14, 2017

I don't see any reason not to accept this contrib. It helps align with the current known state of affairs. When PEP 518 lands, this code can be readily replaced with the PEP 518 solution and until then, ensurepip isn't blocked from working with the latest setuptools versions. I don't think anyone here sees this change as a precedent or reason not to adopt PEP 518.

people will start to assume that the unbundled dependencies (six, appdirs, ...) are shipped with Python

I really doubt it. First off, you have to ensurepip, so it doesn't come with Python by default. But more importantly, most users currently upgrade pip and setuptools to install packages, so will end up with these packages installed anyway in virtualenvs and system envs. So if the presence of these packages is going to lead to incomplete dependency declarations, that risk is already present. Even so, these issues will shake out in short order when setuptools and pkg_resources aren't a standard dependency.

@zooba
Copy link
Member

zooba commented May 24, 2017

I'm against this PR too. In chatting with people at PyCon, many were shocked that setuptools is not guaranteed to be installed by default (mostly on Windows/Mac) and might be removed in the future, and if we add more packages then it will cause further angst when/if we remove those.

Though since PEP 518 has been merged, presumably the next release of pip will be good to embed without setuptools?

@stratakis
Copy link
Contributor Author

Setuptools is bundling its dependencies again [0] as of version 36.0.0. Closing this PR.

[0] pypa/setuptools#980 (comment)

@stratakis stratakis closed this Jun 1, 2017
@stratakis stratakis deleted the update_setuptools branch June 1, 2017 14:07
jaraco pushed a commit that referenced this pull request Dec 2, 2022
jaraco added a commit to jaraco/cpython that referenced this pull request Feb 17, 2023
* 🎨 Make the GHA log is clean and colorized

This patch sets up root-level environment variables shared by all the
workflow jobs. They include:

* Disabling undesired `pip`'s warnings/suggestions
* Requesting the executed apps color their output unconditionally
* Letting `tox` pass those requests to underlying/wrapped programs

* Reformat without end of line comments. Group into sections.

* Avoid numerics for booleans where possible. Choose arbitrary numeric where any numeric is accepted.

Co-authored-by: Sviatoslav Sydorenko <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants