IDAPython and Python 3
As of now (IDA version 7.3), IDA ships with an IDAPython plugin, that is compiled against, and compatible with Python 2.7.
The problem: Python 2.x end-of-life
The Python authors have decided that Python 3 has been available for long enough, to drop support for Python 2.x.
That effectively means that since Python 2.x will be unmaintained, it will gradually disappear from the landscape.
Moving IDAPython to Python 3
Work has begun (in fact, work is even finished) here at Hex-Rays to make IDAPython compilable, and compatible with Python 3.
The road ahead
IDA 7.4: IDAPython for Python 2.7 by default, opt-in for Python 3.x
When IDA 7.4 is released, it will come with precompiled builds of IDAPython not only for Python 2.7, but also for a variety of Python 3.x versions (we haven’t settled for a set of versions yet.)
By default, IDA 7.4 will install IDAPython for Python 2.7, but users will have the opportunity to pick an alternative build that runs against their Python 3.x installation.
IDA 7.?: [likely] IDAPython for Python 3.x by default, opt-in for Python 2.7
However, in later releases, it’s likely to be the other way around: the installer will offer to install IDAPython for 3.x by default, and users will have the opportunity to pick IDAPython for Python 2.7 if they really need it.
IDA 7.?: IDAPython for Python 3.x only
Even further down the road, as Python 2.7 is phased out, it won’t make sense to support it anymore. Thus, the installer will only offer to install IDAPython for Python 3.x.
What it means for script/plugin authors
When IDA 7.4 comes out, IDAPython script and/or plugin authors are encouraged to install IDAPython for Python 3.x (possibly along with another IDA 7.4 install, that uses IDAPython for Python 2.7!), and make sure their scripts and/or plugins work properly there.
On a related note…
Please also see
Last updated