sagemath/sage

Fix sage.feature.package_systems for Python 3.6

Closed this issue · 12 comments

Follow-up from #30606.

As reported in https://groups.google.com/d/msg/sage-release/0MnZQYItCYc/yhXDenfMAAAJ:

line 376, in package_systems
     proc = run('sage-guess-package-system', shell=True, capture_output=True,
text=True, check=True)
   File "/usr/lib/python3.6/subprocess.py", line 423, in run
     with Popen(*popenargs, **kwargs) as process:
TypeError: __init__() got an unexpected keyword argument 'capture_output'
Makefile:190: recipe for target 'ptestlong' failed

So apparently my system python3 is used which is Python 3.6.9. The option
capture_output has been introduced in python 3.7.

Blocker because this ticket fixes the broken doctest machinery on major supported platforms including ubuntu-bionic

CC: @cheuberg @seblabbe

Component: python3

Author: Matthias Koeppe

Branch: c883d71

Reviewer: Volker Braun

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

Description changed:

--- 
+++ 
@@ -1,3 +1,5 @@
+Follow-up from #30606.
+
 As reported in https://groups.google.com/d/msg/sage-release/0MnZQYItCYc/yhXDenfMAAAJ:
 
 ```

Description changed:

--- 
+++ 
@@ -14,3 +14,7 @@
 
 So apparently my system python3 is used which is Python 3.6.9. The option
 capture_output has been introduced in python 3.7.
+
+
+
+Blocker because it breaks the doctest machinery on major supported platforms including `ubuntu-bionic`

Author: Matthias Koeppe

New commits:

c883d71sage.features: Support python 3.6

Commit: c883d71

Description changed:

--- 
+++ 
@@ -17,4 +17,4 @@
 
 
 
-Blocker because it breaks the doctest machinery on major supported platforms including `ubuntu-bionic`
+Blocker because this ticket fixes the broken doctest machinery on major supported platforms including `ubuntu-bionic`

Reviewer: Volker Braun

comment:6

Thanks!

Changed commit from c883d71 to none

comment:8

text=True is still there, in the call to run(), and also not supported by Python 3.6.
Cf.
https://docs.python.org/3/library/subprocess.html

Changed in version 3.7: Added the text parameter, 
as a more understandable alias of universal_newlines. 
Added the capture_output parameter.

as reported on sage-release