Opened 4 months ago

Last modified 8 days ago

#32531 new enhancement

SAGE_ROOT/tox.ini: Add variants that provision a system python using pyenv

Reported by: mkoeppe Owned by:
Priority: major Milestone: sage-9.6
Component: porting Keywords:
Cc: dimpase, mjo Merged in:
Authors: Reviewers:
Report Upstream: Reported upstream. No feedback yet. Work issues:
Branch: Commit:
Dependencies: #29285 Stopgaps:

Status badges

Description (last modified by mkoeppe)

It was suggested (https://groups.google.com/g/sage-devel/c/cSsAsPuVnxg/m/uWEySfvWBQAJ) that testing of new Python versions (such as the upcoming 3.10) could be done via pyenv instead of test tickets (such as #30766) that update our python3 spkg.

In this ticket, we add supporting infrastructure for this in tox.ini.

Upstream issue:

Change History (7)

comment:1 Changed 5 weeks ago by mkoeppe

  • Milestone changed from sage-9.5 to sage-9.6

comment:2 Changed 3 weeks ago by slelievre

  • Dependencies #32442 deleted

Remove dependency on #32442, see ticket:29039#comment:163.

comment:3 Changed 3 weeks ago by mkoeppe

pyenv (or, more precisely, its vendored version of python-build, which provides the pyenv install command) builds misconfigured pythons with -I and -L options in the sysconfig variables (same problem as in #31132, #33078):

$ brew install pyenv
$ pyenv install 3.7.8
$ eval "$(pyenv init --path)"
$ echo $PATH
/Users/mkoeppe/.pyenv/shims:/Users/mkoeppe/miniconda3/condabin:/Users/mkoeppe/bin:/usr/local/bin:/Users/mkoeppe/google-cloud-sdk/bin:/Users/mkoeppe/perl5/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/opt/X11/bin
$ pyenv global 3.7.8
$ python3 -m sysconfig
Platform: "macosx-11.6-x86_64"
Python version: "3.7"
Current installation scheme: "posix_prefix"

Paths: 
	data = "/Users/mkoeppe/.pyenv/versions/3.7.8"
	include = "/Users/mkoeppe/.pyenv/versions/3.7.8/include/python3.7m"
	platinclude = "/Users/mkoeppe/.pyenv/versions/3.7.8/include/python3.7m"
	platlib = "/Users/mkoeppe/.pyenv/versions/3.7.8/lib/python3.7/site-packages"
	platstdlib = "/Users/mkoeppe/.pyenv/versions/3.7.8/lib/python3.7"
	purelib = "/Users/mkoeppe/.pyenv/versions/3.7.8/lib/python3.7/site-packages"
	scripts = "/Users/mkoeppe/.pyenv/versions/3.7.8/bin"
	stdlib = "/Users/mkoeppe/.pyenv/versions/3.7.8/lib/python3.7"

Variables: 
[...]
	CFLAGS = "-Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include"
[...]
	CFLAGS_NODIST = ""
[...]
	LDFLAGS = "-L/usr/local/opt/readline/lib -L/usr/local/opt/readline/lib -L/Users/mkoeppe/.pyenv/versions/3.7.8/lib  -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/readline/lib -L/Users/mkoeppe/.pyenv/versions/3.7.8/lib  -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib"
	LDFLAGS_NODIST = ""
Last edited 3 weeks ago by mkoeppe (previous) (diff)

comment:4 Changed 3 weeks ago by mkoeppe

  • Dependencies set to #29285

comment:5 Changed 3 weeks ago by mkoeppe

  • Description modified (diff)

comment:6 Changed 8 days ago by mkoeppe

  • Report Upstream changed from N/A to Reported upstream. No feedback yet.

comment:7 Changed 8 days ago by mkoeppe

  • Cc mjo added
Note: See TracTickets for help on using tickets.