-
-
Notifications
You must be signed in to change notification settings - Fork 519
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
spkg-configure.m4 for python3 with SAGE_LOCAL as a venv for system pythons #29032
Comments
This comment has been minimized.
This comment has been minimized.
comment:2
See also #29033 which expands on this to add support for a system Python 3.6. |
comment:4
Thanks for working of this. One concern that I have is that in this approach, there is a |
comment:5
A comment regarding the variable |
comment:6
Replying to @mkoeppe:
Are you sure? I'll double check, but with this branch as written it should not install any bin/activate scripts. |
comment:7
Replying to @mkoeppe:
Right, that's a bit confusing. I wasn't totally sure how I felt about that variable name either, but I couldn't think of something better. I think it does make some sense in that just as |
comment:8
Replying to @embray:
I confirmed that as expected it does not install an |
Changed branch from u/embray/build/configure/python3 to u/mkoeppe/build/configure/python3 |
comment:11
Rebased on top of #29357 (and 9.1.beta7) New commits:
|
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
|
comment:13
Rebased again on top of #29357 (and 9.1.beta8) |
Reviewer: Dima Pasechnik |
This is an experimental alternative proposal to #27824.
It isn't yet as "complete" as #27824 as it lacks some of the fixes (e.g. the patches to Pillow) which I didn't need for my tests, but which may still be needed on other platforms (TBD).
The spkg-configure.m4 itself is taken almost directly from #27824, as most of it was great, except for a couple minor changes:
No temporary "config_venv" to test the system Python's packages; instead just run the system Python (if detected) with the
-S
flag.config_setup.py
andconfig_build
are renamedconftest.py
andconftest.dir
respectively since autoconf will automatically clean up files and directories beginning with "conftest"; see https://www.gnu.org/software/autoconf/manual/autoconf-2.60/autoconf.html#GuidelinesAC_SUBST([SAGE_SYSTEM_PYTHON])
instead ofAC_SUBST([PYTHON_FOR_VENV])
The changes to
build/make/deps
are also inspired by #27824 but are simpler in my opinion: Instead of creating a virtualenv nested inside SAGE_LOCAL, SAGE_LOCAL itself is just treated as a virtualenv, and we install the necessary files for the Python interpreter to treat it as such, which keeps things simpler, as SAGE_LOCAL +source sage-env
already fills the same purpose as a virtualenv.The changes to
src/sage/env.py
are reworked just a little bit (in particular, the version in #27824 was buggy on Cygwin, as it would privilege system DLLs over DLLs in SAGE_LOCAL).This was tested on Ubuntu 18.04, and
make ptestlong
passes from a clean build with the system Python detected. No guarantees about OSX or other platforms.Depends on #29357
Component: build: configure
Author: Erik Bray
Branch/Commit: u/mkoeppe/build/configure/python3 @
99b032e
Reviewer: Dima Pasechnik
Issue created by migration from https://trac.sagemath.org/ticket/29032
The text was updated successfully, but these errors were encountered: