Issues representing Python version 3.10 in portfiles

Christopher Chavez chrischavez at
Mon Oct 19 19:10:05 UTC 2020

So far the versions for Python have been able to compact into two-digit strings: e.g. 36 37 38 39. Is the compacted version number for next year's Python 3.10 going to be "310"?

If so, there is code in portfiles which requires adjustment. Common example:

 set pbranch [string range ${pver} 0 end-1].[string index ${pver} end]

assumes ${pver} is two-digit; setting ${pver} to "310" causes ${pbranch} to be set to "31.0" rather than "3.10". (I'd much prefer the inverse approach of setting ${pbranch} first, then doing `set pver [join [split ${pbranch} "."] ""]`.)

Maybe this convention followed Van Rossum's expectation long ago that Python would go directly from 3.9 to 4.0.

Christopher A. Chavez

More information about the macports-dev mailing list