Concisely describe the proposed feature
I'd like to add Python 2.7 support to Taichi, so that people could utilize Taichi in Houdini, and co-operate with other conservative-yet-useful Py2-only packages.
Describe the solution you'd like (if any)
__future__ and six? A huge refactor might be undertaken.Additional comments
Do you think if this benefit > cost? Yeah it will increase maintance cost but:
According to https://blog.csdn.net/qq_39521554/article/details/80855086, it seems Python 2 is still superme in download rate and still the majority of industry.
If we don't provide Py27 support, we're saying "NO" to these conservative-yet-domainant commercial programs, including Houdini, Maya, 3DS Max.. They're all using Py27 :(
Latest Blender uses Py38 and I already have a nice picture there for intergrating Taichi, however "Blender is not professional compared to Houdini".
My Tanzhou 3D modeling class is also instructing me to use 3DS Max, which is Py27. I guess the same to other commercial CG tools too.
Thanks for proposing, but I don't think we should support Python 2 anymore.
Why not? I don't think Houdini will release the Python 3 version very soon, yet many commercial companies still stick to Python 2 in a visible future. Please at least show your concern, and reach a common agreement before closing an issue directly.
I'd be very surprised if these companies aren't spending a major amount of time migrating their products to Py3, see also https://vfxplatform.com/
That's very true, but I believe they have their considerations for not moving to Py3. Unlike non-commercial programs like Blender, Houdini have many of money-paid users, their existing works and knowledges already paid in Py2 is likely to be broken seriously if Houdini release the next version in Py3, then conservative users will likely not upgrade to that version, which makes money-making harder.
So, the sad fact is that we can't alter the environment, we can only adopt the environment, given that many people are still stick to Py2 and redulant to move, even 12 years after Py3 has officially released.
- Like what TensorFlow does, make use of
__future__andsix? A huge refactor might be undertaken.- Use IPC to pipe between Houdini's Python 2 and another separate Taichi's Python 3 instance.
If you concern about maintainability, I can try Sol 2, see if I can couple Py2&3 via PIC.
In fact, Sol 1 is not so hard as you may concern, the main difficulty could be the ast module, which may differ in versions.
Despite Py2 is to be dropped and Py3 will be acceptted gradually at some point anyway, but when is that point? Will the point not occur until Taichi v1.0.0, or even Py4 has announced?
The benefit is obvious: still many commercial people using Py2 at this moment, to serve them, we have to mock this issue.
Most helpful comment
Thanks for proposing, but I don't think we should support Python 2 anymore.