[llvm-dev] Migrate utils/ Python 2 scripts to Python 3

Justin Bogner via llvm-dev llvm-dev at lists.llvm.org
Mon Jan 29 17:26:38 PST 2018


-1 from my POV. Dropping python2 would presumably have a large effect on
anyone who maintains build infrastructure for LLVM (bots, companies'
build systems, anyone who builds and uses LLVM as part of a product or
OS...). This seems like a lot of busy work for little gain to me.

Matthias Braun via llvm-dev <llvm-dev at lists.llvm.org> writes:
> +1 from my for changing LLVMs minimum requirements (for compiling
> llvm) to python3 and dropping python2 support.
>
> In case of lit we probably need to keep the code in a way that works
> with python 2 and 3 though as that will affect various projects
> outside of core llvm that started adopting it.
>
> - Matthias
>
>> On Jan 29, 2018, at 3:42 PM, Jason Molenda via llvm-dev
>> <llvm-dev at lists.llvm.org> wrote:
>> 
>> Hi Fangrui, for what it's worth regarding lldb, Zachary Turner has
>> already done a lot of work to make the majority of its python code
>> (most importantly, its testsuite) work with Python 3 as well as
>> Python 2.
>> 
>> J
>> 
>>> On Jan 29, 2018, at 12:46 PM, Fāng-ruì Sòng via llvm-dev
>>> <llvm-dev at lists.llvm.org> wrote:
>>> 
>>> Hi LLVM-Devs,
>>> 
>>> I noticed that many Python scripts under utils/ have a shebang of
>>> `#!/usr/bin/python` (which is a symlink to python2.7 on many
>>> platforms) and some of them use Python 2 syntax that is not
>>> compatible with Python 3 (e.g. print statements; str/bytes)
>>> 
>>> I created a revision to migrate utils/update_{llc_,}_test_checks.py
>>> from Python 2 to Python 3 https://reviews.llvm.org/D42450 , the
>>> arguments against making it Python 3 is:
>>> 
>>> * There are many Mac OS X users and Mac OS X 10.8 comes with Python
>>> 2.7 pre-installed [0] but not Python 3.
>>> * Forcing scripts to use Python 3 (by doing so we can avoid some
>>> compatibility trouble) may not be a good idea.
>>> 
>>> Python 2.7 was published in 2010 and planned as the last of the 2.x
>>> releases. It will not be maintained past 2020 and there is also a
>>> retirement page https://pythonclock.org/ .
>>> 
>>> The second argument would not need to be addressed if the first one
>>> did not lay too much burden on developers. After all, we have to
>>> install `cmake, ninja/GNU Make / libedit(for lldb)` to build
>>> LLVM. These packages are not installed by default on many
>>> platforms.
>>> 
>>> Thoughts on deprecating Python 2 for utils/ scripts (different from
>>> libclang or lldb scripts) which are not user-facing?
>>> 
>>> [0]:
>>> https://docs.python.org/3/using/mac.html#getting-and-installing-macpython
>>> 
>>> 
>>> Thanks,
>>> Fangrui
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> llvm-dev at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>> 
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


More information about the llvm-dev mailing list