-
-
Notifications
You must be signed in to change notification settings - Fork 480
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 configure option --with-sage-venv=SAGE_VENV to create venv there instead of in SAGE_LOCAL #29013
Comments
Author: Matthias Koeppe |
This comment has been minimized.
This comment has been minimized.
Branch: public/29013-use-py3-venv |
Commit: |
comment:4
In the branch #27824, the venv is created by slightly more complicated code in |
comment:5
Does this ticket make sense separately, or only as part of #27824 ? |
comment:6
#27824 is the use case that I have in mind. |
Dependencies: #29002 |
comment:8
I tried building with this branch on OS X, and I got doctest failures:
For example
and
|
comment:9
Thanks for testing! |
comment:10
Replying to @jhpalmieri:
Not sure what's causing the numerical failures.
For this one, I have created #29022. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:14
The numerical problems seems to happen because numpy does not find BLAS. |
comment:15
Actually, it does not find openblas or atlas, but it does find the "Accelerate framework":
|
comment:17
Merged #29025, fixes the numerical doctests. |
comment:18
I see a problem with cryptominisat spkg on this branch (which otherwise builds and passes most tests (not related to this packages) on Gentoo)
I wonder whether it uses a convoluted way to create python extensions, which got broken. |
comment:96
With
(because it doesn't find some Python packages). Also
Details:
|
comment:97
The ones in For the failure in |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:100
The sage_setup doctest failures have vanished, but I am seeing different problems with
I guess the issue is that manifests are now written to two different places, depending on whether it's a Python package or not. |
comment:101
Right, I forgot about this function. It will need a slightly generalized interface |
comment:104
That fixes the (a) Am I understanding the situation correctly? and (b) is it worth trying to fix? |
comment:105
Replying to @jhpalmieri:
Yes, that's right. Separate for Python packages, sharing the non-Python packages, which are only in SAGE_LOCAL.
OK, thanks for catching this. Yes, the |
Reviewer: John Palmieri |
comment:106
Great, let's merge it, then. |
comment:107
Thank you! |
Changed branch from public/29013-use-py3-venv to |
#27824 made
$SAGE_LOCAL
a venv if a suitable system python3 is found.In this ticket, we add support for installing builds of Sage with several python versions, sharing the non-Python packages in
SAGE_LOCAL
:install-requires.txt
orrequirements.txt
) in$SAGE_VENV/var/lib/sage/{installed,scripts,wheels}
, separate from those of non-Python packages ($SAGE_LOCAL/var/lib/sage/{installed,scripts}
)$SAGE_LOCAL/var/tmp/sage/build
$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
.Configuration:
./configure --with-python=/usr/bin/python3.8 --with-sage-venv="$SAGE_LOCAL/var/lib/sage/venv/python3.8"
.As of this ticket, we are able to establish the venv in an arbitrary configured directory instead of
SAGE_LOCAL
. This is already useful for #31396 to create a wheel-building venv that will not be packaged as part ofSAGE_LOCAL
.In follow-up tickets, we gain the full functionality that facilitates testing with several Python versions without having to rebuild the Sage distribution. This depends on:
pynac
as a pip-installable packageFollow-ups:
We also want to support
./configure --with-sage-venv=no
which would suppress making any venv (./configure --with-sage-venv=none #30896)Support the tricky case: When system python3 is not in use and SAGE_VENV != SAGE_LOCAL, then both a real
$SAGE_LOCAL/bin/python3
needs to be built and a venv in SAGE_VENV created... or should python3 be installed in$SAGE_VENV
?)Optional: A file
build/pkgs/SPKG/trees
could override the install tree determination - this would allow us to for example install a package such asjupyter_core
both into something likeSAGE_NOTEBOOK_VENV
andSAGE_VENV
...CC: @dimpase @jdemeyer @embray @vbraun @jhpalmieri
Component: build
Keywords: sd111
Author: Matthias Koeppe
Branch/Commit:
d68e861
Reviewer: John Palmieri
Issue created by migration from https://trac.sagemath.org/ticket/29013
The text was updated successfully, but these errors were encountered: