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 gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev