sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.31k stars 449 forks source link

pkgs/sagemath-*/tox.ini: Create environment that uses Sage's python as the basepython, fix sagemath-standard deps #32716

Closed mkoeppe closed 2 years ago

mkoeppe commented 2 years ago

Newer versions of tox seem to provision python 3.10 when the environment python is used, but then our wheels don't necessarily fit.

For this reason, the examples shown in the developer's manual hardcoded the Python version (tox -e py39).

We now define tox environments sagepython in tox.ini, which takes Python as SAGE_VENV/bin/python3 and change the manual to use this environment in examples, such as:

./bootstrap && ./sage -sh -c '(cd pkgs/sagemath-standard && SAGE_NUM_THREADS=16 tox -v -v -v -e sagepython-sagewheels-nopypi)'

(to be run after make build)

Depends on #33936

CC: @dimpase @kwankyu

Component: refactoring

Author: Matthias Koeppe

Branch: ca9d6ce

Reviewer: Dima Pasechnik

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

dimpase commented 2 years ago
comment:48

OK, otherwise it looks good. Perhaps deal with versions mentioned in the last comment on another ticket (unless it can be trivially fixed).

mkoeppe commented 2 years ago
comment:49

Replying to @dimpase:

what I don't like are explicit versions of sage-conf and sage-setup in requirements.txt

Obviously there should be an automated way.

src/requirements.txt is already generated from src/requirements.txt.m4

If you mean build/pkgs/sage_conf/install-requires.txt and build/pkgs/sage_setup/install-requires.txt, yes, that will need a better solution but it's way beyond the scope of this ticket

dimpase commented 2 years ago
comment:51

OK

mkoeppe commented 2 years ago
comment:52

Thanks!

vbraun commented 2 years ago
comment:53

Merge failure on top of:

662aaf256a Trac #32423: Update numpy to 1.22.x, scipy 1.8.x, networkx 2.8.x

d98aa7304d Trac #29549: bootstrap: Clean up use of gettextize

24b4eeba5e Trac #13321: FreeModule.hom stores its matrix over the wrong ring

93357f31bf Trac #34104: Build & Test workflow: Run apt-get update first

23e4bbe7d5 Trac #34092: Docbuild workflow broken because furo is too new

9440e71d60 Trac #34088: cygwin python3 missing ensurepip

9879ff4e0c Trac #33936: Remove runtime dependency on sage_docbuild introduced in #33763

55d05c97cb Trac #31403: giac: Make cliquer a dependency, libnauty an optional dependency

843eb03e7e Updated SageMath version to 9.7.beta4

merge was not clean: conflicts in pkgs/sagemath-standard/tox.ini

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

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

ca9d6ceMerge tag '9.7.beta4' into t/32716/pkgs_sagemath_standard_tox_ini__use_sage_s_python_by_default
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

Changed commit from 1c2f41b to ca9d6ce

vbraun commented 2 years ago

Changed branch from u/mkoeppe/pkgs_sagemath_standard_tox_ini__use_sage_s_python_by_default to ca9d6ce

mkoeppe commented 2 years ago

Changed commit from ca9d6ce to none

mkoeppe commented 2 years ago
comment:57

Replying to @mkoeppe:

Replying to @dimpase:

what I don't like are explicit versions of sage-conf and sage-setup in requirements.txt

Obviously there should be an automated way.

src/requirements.txt is already generated from src/requirements.txt.m4

If you mean build/pkgs/sage_conf/install-requires.txt and build/pkgs/sage_setup/install-requires.txt, yes, that will need a better solution but it's way beyond the scope of this ticket

Implemented now in #33817