Yes, this is very important.

I think we could go ahead and make this a goal for gem5 20 to be released
in April. We can support both in gem5-20.0 and in gem5-20.1 or 20.2 drop
support for 2.7.

Additionally, I'd like to see us require at least Python 3.5 so we can
start using python type annotations:
https://www.python.org/dev/peps/pep-0484/.

Cheers,
Jason

On Fri, Jan 17, 2020 at 8:08 AM Gabe Black <[email protected]> wrote:

> I think this seems like something we're going to need to do sooner rather
> than later. I also made some changes recently which made our scons scripts
> more compatible with python 3, but I don't think I fixed all the issues
> entirely. I don't remember what issues were still there, but it should be
> easy enough to re-discover them. Ideally we'd use python 3 in scons as
> well.
>
> Gabe
>
> On Fri, Jan 17, 2020 at 6:13 AM Andreas Sandberg <[email protected]
> >
> wrote:
>
> > Hi Everyone,
> >
> > As some of you might have seen, all development of Python 2.7 will cease
> > in April this year [1]. What that means in practice is that the default
> > version of Python in gem5 will no longer be supported by the Python team
> > after that point. Distributions will likely ship Python 2.7 for a few
> more
> > years though, but the default version has already switched to Python 3 in
> > some cases.
> >
> > About a year ago, I posted a series of patches to make gem5 run in Python
> > 3. There is still one outstanding patch [2] that hasn't been merged since
> > the Python 2/3 meta-class compatibility code triggered some assertions
> that
> > I had to turn into warnings. If you want to try gem5 with Python 3, all
> you
> > have to do is to apply that patch and tell scons to use Python 3 instead
> of
> > Python 2 (set PYHTHON_CONFIG=python3-config).
> >
> > I would suggest that we plan to phase out Python 2 completely sometime
> > this year. To reduce disruption, I would suggest that we plan for at
> least
> > one release that supports both Python 2 and 3, but defaults to Python 3.
> > After that, I would suggest that we drop Python 2.7 support entirely
> since
> > that would allow us to get rid of some compatibility code (e.g., the six
> > dependency) and re-enable the assertions disabled by [2]. Is this
> desirable
> > for the rest of the community? Is the timeline too aggressive / not
> > aggressive enough?
> >
> > If we decide to switch to Python 3 by default, we need to decide the
> > minimum supported Python 3 version. IIRC, the current implementation
> works
> > with Python 3.4, but we could probably mandate a newer version. Ubuntu
> > 16.04 supports 3.5 and 18.04 comes with version 3.6. RHEL/CentOS only
> > started to ship Python 3.6 in version 7 and doesn't support Python 3 at
> all
> > before release 7. Requiring Python 3.5 or even 3.6 seems pretty safe to
> me.
> >
> > Cheers,
> > Andreas
> >
> > [1] http://pyfound.blogspot.com/2019/12/python-2-sunset.html
> > [2] <http://pyfound.blogspot.com/2019/12/python-2-sunset.html>
> > https://gem5-review.googlesource.com/c/public/gem5/+/15982
> >
> > IMPORTANT NOTICE: The contents of this email and any attachments are
> > confidential and may also be privileged. If you are not the intended
> > recipient, please notify the sender immediately and do not disclose the
> > contents to any other person, use it for any purpose, or store or copy
> the
> > information in any medium. Thank you. IMPORTANT NOTICE: The contents of
> > this email and any attachments are confidential and may also be
> privileged.
> > If you are not the intended recipient, please notify the sender
> immediately
> > and do not disclose the contents to any other person, use it for any
> > purpose, or store or copy the information in any medium. Thank you.
> > _______________________________________________
> > gem5-dev mailing list
> > [email protected]
> > http://m5sim.org/mailman/listinfo/gem5-dev
> _______________________________________________
> gem5-dev mailing list
> [email protected]
> http://m5sim.org/mailman/listinfo/gem5-dev
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to