minimum supported version of Python 3

106 views
Skip to first unread message

Mike Frysinger

unread,
Jul 14, 2019, 1:19:02 AM7/14/19
to pyt...@chromium.org
iiuc, all Chrome infra supports at least Python 3.5 (with work on going to add 3.6). can we formalize this in the style guide by saying 3.[0-4] is not supported?

ideally I'd like to require 3.6, but I think it'll take some time for the build bots to catch up.

for reference, here's distro details:
- Debian stretch (released June 2017) has Python 3.5
- Debian buster (just released) has Python 3.7
- Ubuntu xenial (lts released April 2016) has Python 3.5
- Ubuntu bionic (lts released April 2018) has Python 3.6
- CrOS has Python 3.4, but I have CLs to get it to Python 3.6 this quarter
-mike

Takuto Ikuta

unread,
Jul 15, 2019, 12:36:08 AM7/15/19
to Mike Frysinger, pyt...@chromium.org, Dirk Pranke
Sadly for me, we still keep development support on Trusty and Trusty has 3.4 by default.

So I think we cannot drop python 3.4 support unless we drop (development?) support on Trusty.

By the way, I want to know what condition is needed to drop Trusty support (at least for development) in chrome.

--
You received this message because you are subscribed to the Google Groups "python" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python+un...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/python/CAAbOScmVV6JTCGUX2EPHuzwVwQjMKwrPd6OgXD9W9b9tDR31wA%40mail.gmail.com.

Dirk Pranke

unread,
Jul 15, 2019, 5:30:36 PM7/15/19
to Takuto Ikuta, Mike Frysinger, pyt...@chromium.org
On Sun, Jul 14, 2019 at 9:36 PM Takuto Ikuta <tik...@chromium.org> wrote:
I think it is more likely that we will have a single version of python that we standardize on and distribute, rather than trying to work around the version that may or may not be present on the operating system. Mac (<= 10.14) and Windows don't have python3 installed by default at all.
 
So I think we cannot drop python 3.4 support unless we drop (development?) support on Trusty.

By the way, I want to know what condition is needed to drop Trusty support (at least for development) in chrome.

I think we can drop dev support for trusty at pretty much any point, as long as there's a good reason for it, and as long as we can continue to ship on Trusty. But IMO we should never drop support for older 
versions of operating systems lightly.

-- Dirk

Mike Frysinger

unread,
Jul 15, 2019, 7:15:30 PM7/15/19
to Dirk Pranke, Takuto Ikuta, pyt...@chromium.org
we aren't dropping support for old OS's, but for specific versions of Python.  people are free to install that newer version of Python and keep building if they want.  incidentally, the default Python version on Ubuntu Trusty is too old ;).

that said, isn't the Chromium policy to not support OS versions that are no longer supported by the vendor itself ?  Ubuntu Trusty is EOL and Ubuntu itself isn't supporting it anymore.
-mike

Dirk Pranke

unread,
Jul 15, 2019, 8:12:37 PM7/15/19
to Mike Frysinger, Takuto Ikuta, pyt...@chromium.org
We often will continue support for an OS longer than the vendor itself does, although we won't do it indefinitely (it depends on how big the user base is and how much of a maintenance cost it is to support it).

E.g., I think Apple isn't supporting anything earlier than 10.12, but we still support 10.10. I think we supported XP for quite a while after MS stopped, too.

-- Dirk

Takuto Ikuta

unread,
Jul 15, 2019, 10:18:04 PM7/15/19
to Dirk Pranke, Mike Frysinger, pyt...@chromium.org
But I also heard we dropped support for Vista before its end of support from Microsoft.

Anyway, I don't have strong reason to drop Trusty support yet because it is not clear to me that running Trusty causes large maintenance cost.
I will be asking to drop Trusty support then if I found large maintenance cost around Trusty.

Mike Frysinger

unread,
Jul 16, 2019, 3:47:34 PM7/16/19
to Dirk Pranke, Takuto Ikuta, pyt...@chromium.org
there's a difference between dropping support for a platform as a development platform vs just a runtime target isn't there?
-mike

Dirk Pranke

unread,
Jul 16, 2019, 3:49:01 PM7/16/19
to Mike Frysinger, Takuto Ikuta, pyt...@chromium.org
Yes, as I said somewhere upthread :).

-- Dirk

Mike Frysinger

unread,
Jul 16, 2019, 4:00:55 PM7/16/19
to Dirk Pranke, Takuto Ikuta, pyt...@chromium.org
so everyone is in agreement that we can drop support for building in trusty?
-mike

Jason Clinton

unread,
Jul 16, 2019, 4:01:04 PM7/16/19
to Dirk Pranke, Mike Frysinger, Takuto Ikuta, pyt...@chromium.org
Okay, sounds like we can drop Python 3.4, then, since I didn't see anyone say that the 3.4 platforms were development platforms. Or did I misunderstand?


Dirk Pranke

unread,
Jul 16, 2019, 4:06:56 PM7/16/19
to Jason Clinton, Mike Frysinger, Takuto Ikuta, pyt...@chromium.org
I am fine with requiring a newish Python (3.7+, possibly 3.6+, I'm not sure if there's a need to require 3.7). I am okay with someone needing to manually install a newer Python version if they want to keep using some other distro (e.g., Trusty).

If there are other reasons we'd want to drop Trusty dev support, that might be a different discussion.

-- Dirk

Takuto Ikuta

unread,
Jul 16, 2019, 5:36:30 PM7/16/19
to Dirk Pranke, Jason Clinton, Mike Frysinger, pyt...@chromium.org
Even if you drop support for python3.4, make sure to keep following builder green.

Dirk Pranke

unread,
Jul 16, 2019, 5:41:54 PM7/16/19
to Takuto Ikuta, Jason Clinton, Mike Frysinger, pyt...@chromium.org
Depending on what we do, we could either install a newer python on that machine, or switch that configuration to be test-only (the latter being what we do when we drop support for building on an OS version).

-- Dirk

Mike Frysinger

unread,
Jul 17, 2019, 2:55:53 PM7/17/19
to Dirk Pranke, Jason Clinton, Takuto Ikuta, pyt...@chromium.org
i would love to require Python 3.6, but i think we've got too many loose ends at the moment.  so i'll start with Python 3.5 and see what shakes out :).

if depot_tools was able to provide standalone versions of Python 3.6 for all platforms (Windows/macOS/Linux/etc...) all the time for depot_tools & src.git, that'd be great.
-mike

Dirk Pranke

unread,
Jul 17, 2019, 3:34:34 PM7/17/19
to Mike Frysinger, Jason Clinton, Takuto Ikuta, pyt...@chromium.org, First Last
+smut ...

I think that's the end goal (+/- the specific version, which likely will be 3.7+), but I'm not sure if we'll get there in Q3 or not.

-- Dirk

smut

unread,
Jul 17, 2019, 7:09:45 PM7/17/19
to Mike Frysinger, Jason Clinton, Takuto Ikuta, python
Accidentally replied instead of reply-all. See response below.

On Wed, Jul 17, 2019 at 4:06 PM smut <sm...@chromium.org> wrote:
3.8. depot_tools won't provide Linux or Mac versions because it doesn't do that currently for 2.7. It will probably provide a Windows version of 3.8 though.

Andrew Grieve

unread,
Feb 19, 2020, 1:57:23 PM2/19/20
to python, smut, Mike Frysinger, Jason Clinton, Takuto Ikuta
Curious if anything more was taken shape about what the minimum python3 version is for bots?

We'd like to convert SuperSize, which runs on official builders & perf builders, to python3:
To unsubscribe from this group and stop receiving emails from it, send an email to python+unsubscribe@chromium.org.

--
You received this message because you are subscribed to the Google Groups "python" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python+unsubscribe@chromium.org.

--
You received this message because you are subscribed to the Google Groups "python" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python+unsubscribe@chromium.org.

--
You received this message because you are subscribed to the Google Groups "python" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python+unsubscribe@chromium.org.

Takuto Ikuta

unread,
Feb 19, 2020, 4:52:55 PM2/19/20
to Andrew Grieve, infra-dev, Robbie Iannucci, python, smut, Mike Frysinger, Jason Clinton
Currently chromium bots get python 3.8 from CIPD, and have 3.4 or later in the system.
I'm not sure which version we decided to guarantee the minimum python3, but I think it is practically fine to assume we can use python 3.8 now on bots.

To unsubscribe from this group and stop receiving emails from it, send an email to python+un...@chromium.org.

--
You received this message because you are subscribed to the Google Groups "python" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python+un...@chromium.org.

--
You received this message because you are subscribed to the Google Groups "python" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python+un...@chromium.org.

--
You received this message because you are subscribed to the Google Groups "python" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python+un...@chromium.org.

--
You received this message because you are subscribed to the Google Groups "python" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python+un...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/python/e8eb2657-5f98-4e3c-be2d-a193e68aeeb4%40chromium.org.

Robert Iannucci

unread,
Feb 19, 2020, 5:27:07 PM2/19/20
to Takuto Ikuta, Andrew Grieve, infra-dev, python, smut, Mike Frysinger, Jason Clinton
On Wed, Feb 19, 2020 at 1:52 PM Takuto Ikuta <tik...@chromium.org> wrote:
Currently chromium bots get python 3.8 from CIPD, and have 3.4 or later in the system.

The system python should not, under any circumstances, be used by the tasks. The only python version we expose to tasks is 3.8.

Robert Iannucci

unread,
Feb 19, 2020, 5:27:30 PM2/19/20
to Takuto Ikuta, Andrew Grieve, infra-dev, python, smut, Mike Frysinger, Jason Clinton
On Wed, Feb 19, 2020 at 2:26 PM Robert Iannucci <iann...@chromium.org> wrote:


On Wed, Feb 19, 2020 at 1:52 PM Takuto Ikuta <tik...@chromium.org> wrote:
Currently chromium bots get python 3.8 from CIPD, and have 3.4 or later in the system.

The system python should not, under any circumstances, be used by the tasks. The only python version we expose to tasks is 3.8.

... python3 version ...

Andrew Grieve

unread,
Feb 19, 2020, 10:11:59 PM2/19/20
to Robert Iannucci, Takuto Ikuta, infra-dev, python, smut, Mike Frysinger, Jason Clinton
Great! Is there anything scripts need to do in order to use the CIPD version of python3?

Our recipe uses "self.m.step()" to run a bash wrapper around the python script: https://cs.chromium.org/chromium/src/tools/binary_size/supersize

Will changing the wrapper to "python3" be sufficient to pick up the CIPD-provided version of python3?

Takuto Ikuta

unread,
Feb 19, 2020, 10:18:55 PM2/19/20
to Andrew Grieve, Robert Iannucci, infra-dev, python, smut, Mike Frysinger, Jason Clinton


2020年2月20日(木) 12:12 'Andrew Grieve' via python <pyt...@chromium.org>:
Great! Is there anything scripts need to do in order to use the CIPD version of python3?

Our recipe uses "self.m.step()" to run a bash wrapper around the python script: https://cs.chromium.org/chromium/src/tools/binary_size/supersize

Will changing the wrapper to "python3" be sufficient to pick up the CIPD-provided version of python3?


I think so.


Robert Iannucci

unread,
Feb 20, 2020, 2:17:19 PM2/20/20
to Takuto Ikuta, Andrew Grieve, infra-dev, python, smut, Mike Frysinger, Jason Clinton
On Wed, Feb 19, 2020 at 7:18 PM Takuto Ikuta <tik...@chromium.org> wrote:


2020年2月20日(木) 12:12 'Andrew Grieve' via python <pyt...@chromium.org>:
Great! Is there anything scripts need to do in order to use the CIPD version of python3?

Our recipe uses "self.m.step()" to run a bash wrapper around the python script: https://cs.chromium.org/chromium/src/tools/binary_size/supersize

Will changing the wrapper to "python3" be sufficient to pick up the CIPD-provided version of python3?


I think so.

Yep, this should be sufficient.

However, be aware that I'm still rolling out the changes I announced in https://groups.google.com/a/google.com/g/luci-announce/c/e5jjLMia71o. The TL:DR is that if you want your stuff to use vpython, please use "vpython3", and if you want it to only use stdlib python on the bots, use "python3". Currently "python3" is secretly vpython3 on the bots, but this will go away soon (see PSA)

Andrew Grieve

unread,
Feb 20, 2020, 4:27:37 PM2/20/20
to Robert Iannucci, Takuto Ikuta, infra-dev, python, smut, Mike Frysinger, Jason Clinton
Thanks!

I don't think this script has any third-party deps, so likely vpython doesn't matter?
Is there a way to use this same version of python3 from local developer builds?

Robert Iannucci

unread,
Feb 20, 2020, 5:30:05 PM2/20/20
to Andrew Grieve, Takuto Ikuta, infra-dev, python, smut, Mike Frysinger, Jason Clinton
On Thu, Feb 20, 2020 at 1:27 PM 'Andrew Grieve' via python <pyt...@chromium.org> wrote:
Thanks!

I don't think this script has any third-party deps, so likely vpython doesn't matter?

Then it probably doesn't matter, use "python3".
 
Is there a way to use this same version of python3 from local developer builds?

That's a trickier proposition. I know that chromite has a built-in version assertion (i.e. it requires python 3.6 or greater). That's probably the best way to do it for now.

There is, technically, a way to get this _exact_ version of python for developer machines, but I don't think we want to expose that as a supported API yet.
 
Reply all
Reply to author
Forward
0 new messages