Can we move to using python3.8?

With 2.90.0 and 2.83.5 released with py3.7, could we now move to start using py3.8 for the next release?

Is there any technical reason to stay with 3.7?

2 Likes

Hi Sambler.
Recently been assessed to which version to upgrade and finally updated to 3.7.7.

Sources:
https://developer.blender.org/T76184
https://developer.blender.org/T77846

We try to follow the VFX reference platform, and that will still be on 3.7 in 2021.

6 Likes

I don’t know if this is the appropriate place to raise this, but Blender now got switched to Python 3.9 (https://developer.blender.org/rB5bddfde217b1477c02de9dcfa8c078969d432519), while the VFX Platform is still very much on 3.7. Was this discussed anywhere else to upgrade Blender’s Python version? This upgrade to 3.9 will make it very much harder for us to keep a common environment for our tools and pipeline.

https://developer.blender.org/T83246
https://lists.blender.org/pipermail/bf-committers/2020-December/050799.html

1 Like

Yes, it’s a bit unfortunate that even though there was support on the vfx platform to moving to 3.9 for 2021, the industry has still been too slow in even getting to 3.7 and an update was delayed for next year as per this thread: https://groups.google.com/g/vfx-platform-discuss/c/-UfNwawZges

At this point some users were running into legitimate bugs in 3.7 that have since been fixed in later versions. Remember that 3.7 is not receiving any fixes at this point beyond security updates; putting blender in a tough spot. 2.93 is an LTS release which needs to last 2 years. Another 2 years without python fixes is problematic.

@Frieder In the meantime, if this is truly detrimental for you, perhaps start a new thread that details exactly how things (software, pipeline, addons) will fail in your environment now. There was an, IMHO, weak call by blender to the community to ask for input on these issues but no feedback was received. Nothing will probably be done for 2.93 at this point but it will help blender anticipate and understand your requirements better.

2 Likes

Thank you @rboxman and @ankitm for the replies! It’s helpful to see the discussion leading up to this point.
I’ll collect some thoughts before starting a new thread and read the information that you provided for now to better understand how the decision was made.

For context: The only thread I saw was Ton asking on Twitter about the Python version. Jeff Hanna replied to the thread, expressing the consensus of the Tech Art community that we should stick to Python 3.7.

Yeah, that was literally the only reply and he only, more or less, expressed a desire for things to remain on 3.7. There was no concrete example behind it that would show exactly what needs to be supported and why.

For additional reference https://developer.blender.org/T84752 and its 5 duplicates is the issue I mentioned about 3.7 already being problematic for some users.

Blender 2.93 will be using Python 3.9. Current beta builds are already on py3.9.

Agreed, I monitor twitter, here, and bf-commiters and missed this somehow until @sybren announced on twitter .

Not to rehash that thread, I get the bug fixes for Python needed, but the concrete example here of the downside is rather obvious. Most(*) addons using c python extensions will not work right now with Blender 2.93 after moving to Python 3.9. Off the top of my head those are:

ProRender
(future RenderMan plugin)
FLIP fluids
Luxcore
octane
redshift

I’m sure there are others. But the point is that those addons probably need to recompile to support Bender 2.93 and support two different build systems for building their c-extensions to 3.7 and 3.9. Which sucks let me tell you. Particularly for render plugins that support many different apps, not just blender, they make a Python 3.7 binding since that is the industry standard.

  • There is a way that python c-extensions can be built with limited functionality and forward compatibility https://docs.python.org/3/c-api/stable.html but it is limiting and my experience with this has been mixed. I don’t consider this a great solution.

Edit: For the future what is the best way for addon developers to be involved in this discussion?

5 Likes