Opened 4 months ago

Closed 3 months ago

Last modified 2 months ago

#30317 closed enhancement (fixed)

Update pip to 20.2.2, setuptools to 49.6.0

Reported by: mkoeppe Owned by:
Priority: critical Milestone: sage-9.2
Component: packages: standard Keywords:
Cc: jhpalmieri, dimpase Merged in:
Authors: Matthias Koeppe Reviewers: John Palmieri
Report Upstream: N/A Work issues:
Branch: 51eac01 (Commits) Commit:
Dependencies: Stopgaps:

Description (last modified by mkoeppe)

Previous update: #29803 (20.1.1, 47.1.1)

Change History (15)

comment:1 Changed 4 months ago by mkoeppe

  • Branch set to u/mkoeppe/update_pip_to_20_2_1__setuptools_to_49_2_1

comment:2 Changed 4 months ago by mkoeppe

  • Authors set to Matthias Koeppe
  • Commit set to 91f21f629cb8267e3b1ca28919e6471752db4e19
  • Status changed from new to needs_review

New commits:

a22b6aebuild/pkgs/pip: Update to 20.2.1
91f21f6build/pkgs/setuptools: Update to 49.2.1

comment:3 Changed 3 months ago by git

  • Commit changed from 91f21f629cb8267e3b1ca28919e6471752db4e19 to eded6bed0cdaa715c14369265f4f07755ad7eb9d

Branch pushed to git repo; I updated commit sha1. New commits:

eded6bebuild/pkgs/pip: Update to 20.2.2

comment:4 Changed 3 months ago by mkoeppe

  • Summary changed from Update pip to 20.2.1, setuptools to 49.2.1 to Update pip to 20.2.2, setuptools to 49.2.1

comment:5 Changed 3 months ago by git

  • Commit changed from eded6bed0cdaa715c14369265f4f07755ad7eb9d to 51eac018ede55b16718391a4f7672fbe1062da84

Branch pushed to git repo; I updated commit sha1. New commits:

51eac01build/pkgs/setuptools: Update to 49.6.0

comment:6 Changed 3 months ago by mkoeppe

  • Description modified (diff)
  • Priority changed from major to critical
  • Summary changed from Update pip to 20.2.2, setuptools to 49.2.1 to Update pip to 20.2.2, setuptools to 49.6.0

comment:7 follow-ups: Changed 3 months ago by gh-tobiasdiez

I tried this as recommended in #30459, but it fails with "Error downloading pip-20.2.2.tar.gz" because this version of pip cannot be found on any of the sage mirrors apparently. Do I have to change something before running this branch?

Just out of interest, what is the reason for this spkg infrastructure over say pipenv + pipfile?

comment:8 in reply to: ↑ 7 Changed 3 months ago by mkoeppe

Replying to gh-tobiasdiez:

I tried this as recommended in #30459, but it fails with "Error downloading pip-20.2.2.tar.gz" because this version of pip cannot be found on any of the sage mirrors apparently. Do I have to change something before running this branch?

Tickets with package changes need ./configure --enable-download-from-upstream-url until the ticket has been merged into the next beta (which is when the release manager uploads the tarballs to the mirrors).

comment:9 in reply to: ↑ 7 Changed 3 months ago by mkoeppe

Replying to gh-tobiasdiez:

Just out of interest, what is the reason for this spkg infrastructure over say pipenv + pipfile?

If you are asking why we bypass proper package management by pip and install things in the most basic way using pip --ignore-installed --verbose --no-deps --no-index (see build/bin/sage-pip-install)... let's just say that it is the result of design decisions made a long time ago based on implementation constraints that were valid at that time - but no longer bind us now.

I am hoping that we can make the installation of Python packages more straightforward in the Sage 9.3 cycle. #29500 (Install all Python packages via pip wheel) is a step in this direction.

I haven't looked at pipenv in detail; pipfile looks like it is far from a stable version

comment:10 Changed 3 months ago by gh-tobiasdiez

After configure it downloaded pip. However, the installation failed with the same error as reported in #30459. I also tried to add with_pip=True in the constructor argument of EnvBuilder? in sage-venv, but this script doesn't seem to be triggered at all during a make.

Thanks for the explanation. It's interesting to learn more about the inner workings of sage. Pipfile is as stable as pipenv, since the latter uses it heavily. But if I understand it correctly, you are not using a virtual environment for the local python installation, right?

comment:11 Changed 3 months ago by mkoeppe

  • Cc jhpalmieri dimpase added

comment:12 Changed 3 months ago by jhpalmieri

  • Reviewers set to John Palmieri
  • Status changed from needs_review to positive_review

Looks like a straightforward update to me. It works for me on OS X. Other issues could be addressed on another ticket: the problems reported by @gh-tobiasdiez look like they're independent of the changes here, unless I'm misunderstanding.

comment:13 Changed 3 months ago by mkoeppe

Thanks!

comment:14 Changed 3 months ago by vbraun

  • Branch changed from u/mkoeppe/update_pip_to_20_2_1__setuptools_to_49_2_1 to 51eac018ede55b16718391a4f7672fbe1062da84
  • Resolution set to fixed
  • Status changed from positive_review to closed

comment:15 Changed 2 months ago by slelievre

  • Commit 51eac018ede55b16718391a4f7672fbe1062da84 deleted

50.0.0 will bring backward-incompatible changes; see ​https://setuptools.readthedocs.io/en/latest/history.html#v50-0-0

Some if not all these changes are reverted in 50.1.0, 50.2.0, 50.3.0, see history.

Note: See TracTickets for help on using tickets.