Changes between Version 54 and Version 55 of Ticket #29013


Ignore:
Timestamp:
09/17/20 03:48:20 (13 months ago)
Author:
mkoeppe
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #29013

    • Property Cc jhpalmieri added
    • Property Summary changed from In a python3 build, install all Python packages into a venv different from SAGE_LOCAL to Support installation of Python packages into separate venvs depending on the python version
    • Property Dependencies changed from #29362 to
    • Property Milestone changed from sage-wishlist to sage-9.3
  • Ticket #29013 – Description

    v54 v55  
    1 #27824 makes `$SAGE_LOCAL` a venv if a suitable system python3 is found.
     1#27824 made `$SAGE_LOCAL` a venv if a suitable system python3 is found.
    22
    3 On this ticket, we create a venv (https://docs.python.org/3/library/venv.html) instead at `$SAGE_LOCAL/lib/sage/venv/sage/`, run the standard `activate` script in the `sage-env` script, and install all Python packages (including `sagelib`) into this venv.
     3In this ticket, we add support for installing several python versions into the same `SAGE_LOCAL`:
     4 - keeping install records for Python packages in `$SAGE_VENV/var/lib/sage/{installed,scripts,wheels}`, separate from those of non-Python packages ($SAGE_LOCAL/var/lib/sage/{installed,scripts})
     5 - likewise for `$SAGE_LOCAL/var/tmp/sage/build`
     6 - here `$SAGE_VENV` defaults to `$SAGE_LOCAL`, but can be overridden to an arbitrary directory that will be used as the wheel-building venv, for example  `$SAGE_LOCAL/var/lib/sage/venv/$PYTHON_TAG`.
    47
    5 (This used to be preparation for #27824; but the approach of that has been changed.)
     8This is activated by running, for example, `make PYTHON_FOR_VENV=/usr/bin/python3.8 SAGE_VENV=`$SAGE_LOCAL/var/lib/sage/venv/$PYTHON_TAG`.
    69
     10To implement this, an SPKG needs an indication that it is a Python package - for example #30024.
     11
     12This is mainly for #29039; but also facilitates testing with several Python versions without having to rebuild the Sage distribution.
     13
     14This depends on:
     15 - #30534 Repackage `pynac` as a pip-installable package