Forcing Blender 2.49b to work with Python 2.7.8 and later Python 2x releases.

Simple question… How can Blender 2.49b be forced to work with ANY version of Python 2x, especially the newest 2.7.8 series?

As I understand it, all Python 2x releases are backwards compatible, so Blender should have no issues using any of them, older or newer.

Feel free to correct me if I am wrong. If this requires compiling Blender, I would appreciate links, tutorials - everything I need so I can do that.

Thank you.

Is there any reason you still use 2.49b, there’s an incredible amount of functionality that’s missing compared to 2.71 for starters?

There is a bunch of import/export stuff which is absent from 2.7 but still working in 2.49 which likely never will be updated or redone yet there are people using that.

I’m afraid blender 2.4 would never run on newer python - even simple “print ‘Hello World’” did change to the one needing parentheses to work.
What could work is python installed ‘side by side’ ways; isolated and given environment pointing to old python version, something like that. Or Virtual Box, OS with old stuff installed running just for the import/export.

OK, sorry, my mind is fuzzy (been fighting a headache.)

eppo: Are you saying that Blender 2.7.x is so drastically different from Blender 2.6.x that, essentially, there is no backwards compatibility? I wasn’t going to try Python 3x - just the newer versions of Python 2x.

IkariShinji: I am using Windows 7 64 bit. But for Blender 2.49 I am sticking with 32 bit as that is what all everything else uses.

For now I just went back to the newest Python 2.6.x - 2.6.6 as 2.6.7-2.6.9 had no installers. Everything is working and I will stick with that unless and until I can recompile a version of Blender 2.49b that works with Python 2.7.x.

Thank you for your replies.

Blender, 2.6 and 2.7, has somewhere changed to using Python 3 instead of 2.6/7 if i’m not mistaken. Python code for Blender is what needs to be rewritten to work on Python 3 and i am not sure about underlying Python to C stuff. So that there is a ton of work to rewrite python (and maybe even C parts) code to start thinking about compiling 2.4 and making it to use Python 2.7. All addons are using old-fashioned python code. These need to be checked for incompatibilities. Print is easiest to fix, there are more on the list.

blend files are backwards compatible ofc (checkmark Legacy on T panel).

It was comparatively easy to use Blender 2.49b one or two years back on linux Ubuntu or Mint; now, when they are using Python 3 on the system level it feels much more complicated to set working Python 2.6 just for running Blender 2.49b. Last i managed get functional complains that there is no Python and scripts wont function.

I’d rather make some USB stick with some older OS, Python and Blender 2.49 happily running - you would need that only for import export functions, no fancy screen modes, no speed needed. Then either boot this or use on virtual box. in parallel, on top of your real OS.

The thing that’s going to be “fundamentally different” is the interface code between Blender and Python: the bpy object and so-on.

… and the fundamental API exposed by that set of objects, all of which are implemented within the guts of Blender and exposed to Python for its (and your) use.

But there are lots of other issues lurking, too. “Blender has moved on … a long distance, now.” Things like linear vs. non-linear color spaces, and so on and on and on.

If you have an importer … which, after all, is a Python script … then what needs to be done is for that script to be rewritten, so that it produces a usable work-product given today’s Blender. It might not be “just a simple coding change,” but a more deeply-felt “logic change.” The characteristics of the file that this thing produces might need to be different now.