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

Add build/pkgs/SPKG/requirements.txt for all Python SPKG #30024

Closed
mkoeppe opened this issue Jun 29, 2020 · 9 comments
Closed

Add build/pkgs/SPKG/requirements.txt for all Python SPKG #30024

mkoeppe opened this issue Jun 29, 2020 · 9 comments

Comments

@mkoeppe
Copy link
Contributor

mkoeppe commented Jun 29, 2020

These files were added in #29287 (SPKG type: Make "normal/script/pip" orthogonal to "base/standard/optional/experimental") for all pip packages.

We record "abstract" version requirements in files build/pkgs/SPKG/install-requires.txt - this is #30719.

In this ticket, we additionally record "concrete" versions for all Python packages in build/pkgs/SPKG/requirements.txt.

(cf. https://packaging.python.org/discussions/install-requires-vs-requirements/)

Some scripts need updating to make sure that checksums.ini wins over requirements.txt - to keep normal packages normal.

Depends on #30719

CC: @slel @jhpalmieri @orlitzky

Component: build

Issue created by migration from https://trac.sagemath.org/ticket/30024

@mkoeppe mkoeppe added this to the sage-9.2 milestone Jun 29, 2020
@mkoeppe mkoeppe modified the milestones: sage-9.2, sage-9.3 Aug 13, 2020
@tobiasdiez
Copy link
Contributor

comment:2

I would strongly suggest to have a look at pipenv, which manages python dependencies via pipfile and pipfile.lock (replacing requirements.txt and checksums.ini (?)).

@mkoeppe

This comment has been minimized.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Sep 7, 2020

comment:3

Not sure if we can use pipenv as a drop in solution.

For various Python packages, we currently have to use patches or special build steps. I have sketched a way forward in #29500 -- use our custom build scripts to build wheels (and store them in a wheelhouse / private package index), which can then be installed by all standard tools (and also by users into separate venvs). We can certainly generate a Pipfile that makes this easier for users

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Sep 7, 2020

comment:4

Let's discuss two separate concerns on two separate tickets:

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe mkoeppe removed this from the sage-9.3 milestone Sep 8, 2020
@mkoeppe
Copy link
Contributor Author

mkoeppe commented Oct 4, 2020

Dependencies: #30719

@mkoeppe

This comment has been minimized.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Dec 10, 2023

Closing as not planned.

@mkoeppe mkoeppe closed this as not planned Won't fix, can't repro, duplicate, stale Dec 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants