Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Py27] Possible Python 2.7 support? #1842

Closed
archibate opened this issue Sep 6, 2020 · 4 comments
Closed

[Py27] Possible Python 2.7 support? #1842

archibate opened this issue Sep 6, 2020 · 4 comments
Labels
feature request Suggest an idea on this project

Comments

@archibate
Copy link
Collaborator

archibate commented Sep 6, 2020

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)

  1. Like what TensorFlow does, make use of __future__ and six? A huge refactor might be undertaken.
  2. Use IPC to pipe between Houdini's Python 2 and another separate Taichi's Python 3 instance.

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.

@archibate archibate added the feature request Suggest an idea on this project label Sep 6, 2020
@archibate archibate mentioned this issue Sep 6, 2020
25 tasks
@yuanming-hu
Copy link
Member

Thanks for proposing, but I don't think we should support Python 2 anymore.

@archibate
Copy link
Collaborator Author

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.

@archibate archibate reopened this Sep 7, 2020
@k-ye
Copy link
Member

k-ye commented Sep 9, 2020

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/

@archibate
Copy link
Collaborator Author

archibate commented Sep 9, 2020

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.

  1. Like what TensorFlow does, make use of __future__ and six? A huge refactor might be undertaken.
  2. 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.

@k-ye k-ye closed this as completed May 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request Suggest an idea on this project
Projects
None yet
Development

No branches or pull requests

3 participants