python 2.X ?

It may sounds as a stupid question , but it’s not…

can the current version of blender run on python 2.X ?
and if not , why is been chosen python 3.0 when no other production software uses it ? :slight_smile:


Nope, only py3k is supported.

As to why, who knows? The api changed so much it didn’t matter too much that there is a slightly different python syntax to use since all the old blender scripts were broken anyway, a later change to py3k would have broken all the scripts again which is what you’ll start seeing in ‘other production software’ when they’re forced to upgrade too since the python 2.x series has had its end of life release already.

BTW, this is all pure speculation on my part (except the ‘only py3k is supported’ part)…

Hi Uncle Entity,
I was asking as I would have liked to try to propose blender as side tool in the company I’m working (vfx) , but the lack of support for python 2.X stopped me as it would have been the only software using it.
(not to mention that I should recompile all the module we are using [+50] to python 3.0)
risking to break the current pipeline.

all I can say , what a shame :slight_smile:

Because python 2 is dead , gone , bye bye , hasta la vista baby, see you later , gia xaranta , the end, ciao …

2.7 was the last alive version, I am not so sure if there is going to be other minor bug fixes version, but you can kiss your python 2 goodbye. Python 3 is the future and from what I see around 50% of the most popular python libraries have moved to python 3 anyway.

Blender did the clever move to embrace python 3 as fast as possible, so now nobody have to worry about porting code.

Can you run blender in python ? Well it depends what you mean by run. Its possible to make your python 2 app communicate with blender python using something like execnet

Sky is the limit , everything is possible.

There is no much reason to develop in python 2 other than avoiding a rewrite , as its guaranteed way to kill your app as python 2 is slowly abandoned by python applications and libraries alike. Of course you can continue to use python 2 forever if you dont care about following the technology . Its a choice.

It might be dead , but as I have to deal with all the other sw in pipeline using 2.X (maya, nuke , mari , houdini, katana etc…) blender will remain out of the production flow.

one day , when all the other sw will start using 3.X I’ll give it another go.

It’s not like maya, nuke , mari , houdini, katana etc… scripts can run in blender (and vice versa) and any communication between them would be through sockets, text files or some other means (unless, of course, you compile blender as a python module and call it from another program (not really seeing any use case for that tbh)) so why does it really matter what version of python blender runs?

You know with a few simple changes all your compiled modules can support both py 2 and 3 without breaking anything – can’t load py3k modules in 2.x anyway so your argument isn’t so good either way – which you’ll probably have to do sometime in the near future with or without blender.

Not really seeing the problem here…

I think it’s going to be an interesting time when some of these apps go py3k and you must have a newer version while others aren’t so quick. Wonder what the migration plan is for that?

I did say its doable , and have even shown you how . But if you want to believe its not doable , then thats your constitutional right :smiley: