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
