Skip to content
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

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

Open
mkoeppe opened this issue Sep 17, 2021 · 7 comments
Open

Comments

@mkoeppe
Copy link
Contributor

mkoeppe commented Sep 17, 2021

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:

Depends on #29285

Upstream: Reported upstream. No feedback yet.

CC: @dimpase @orlitzky

Component: porting

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

@mkoeppe mkoeppe added this to the sage-9.5 milestone Sep 17, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.5, sage-9.6 Dec 18, 2021
@slel
Copy link
Member

slel commented Dec 29, 2021

comment:2

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

@slel
Copy link
Member

slel commented Dec 29, 2021

Changed dependencies from #32442 to none

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Jan 2, 2022

comment:3

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 = ""

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Jan 2, 2022

Dependencies: #29285

@mkoeppe

This comment has been minimized.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Jan 12, 2022

Upstream: Reported upstream. No feedback yet.

@mkoeppe mkoeppe modified the milestones: sage-9.6, sage-9.7 Mar 5, 2022
@mkoeppe

This comment has been minimized.

@mkoeppe mkoeppe modified the milestones: sage-9.7, sage-9.8 Aug 1, 2022
@mkoeppe mkoeppe modified the milestones: sage-9.8, sage-9.9 Jan 7, 2023
@mkoeppe mkoeppe removed this from the sage-10.0 milestone Mar 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants