[Bf-committers] Moving to Python 3.2.x

Campbell Barton ideasman42 at gmail.com
Mon Mar 7 15:34:49 CET 2011


Reasons to move to 3.2 sooner then later:
*note* with the original switch to py3.1 we agreed to bundle a single
python rather then supporting multiple versions of python, Win and OSX
are on 3.2 now.
- maintaining multiple python versions is (a little) overhead for me
(some function / macro's are new in 3.2).
- more importantly its a hassle for bug reports, have to ask which
version of py a user has and rule it out as a cause of python bugs,
have 3.1 building locally to check.
- py3.1 has a some filepath bugs users ran into, calculating relative
paths didn't work right. Though most of these problems were on
windows.
- we're aiming to release 2.57 end of March so leaving the switch too
late means we get less time to test
scripts/c-api/build-systems/install are ok

If we waited until distributions have stable packages this could be
until the next release cycle (months?), waiting another week or so
won't make a big difference.

This is also not a problem for Win and OSX, Linux has the advantage
that we don't need a pre-compiled lib/ dir but every so often them
also means dealing with version annoyances like this which is a trade
off, though a pre-compiled dir wouldn't work well Linux anyway with
glibc versions... etc.

And it's simple to build python in Linux, 1 line copy paste :)

wget http://www.python.org/ftp/python/3.2/Python-3.2.tar.bz2 ; tar
-jxpf Python-3.2.tar.bz2 ; cd Python-3.2 ; ./configure
--prefix=$HOME/py32 ; make ; make install

@Tobias, no need to make a mess out of your system, just install to a
local path, see above --prefix=...

On Mon, Mar 7, 2011 at 2:20 PM, Tobias Oelgarte
<tobias.oelgarte at googlemail.com> wrote:
> To make the list complete, also:
>
> * python3.2-dev
> * libpython3.2
>
> Am 07.03.2011 15:03, schrieb Tobias Oelgarte:
>> You will need to install the following packages from natty, otherwise
>> the dependencies are not fulfilled:
>>
>> * python3.2
>> * python3.2-minimal
>> * libdb5.1
>> * libsqlite3-0
>>
>> They might change in future, so it can happen that you will need to
>> install even more dependencies.
>>
>> Am 07.03.2011 14:57, schrieb Tobias Kummer:
>>> Tobias, try https://launchpad.net/ubuntu/+source/python3.2/3.2-1, there
>>> is a "Builds" section on the right where you can d/l python for your
>>> architecture (i386/x64 etc).
>>>
>>> On 03/07/2011 02:43 PM, Tobias Oelgarte wrote:
>>>> That may work for Fedora. But i could not find any packages for Ubuntu
>>>> 10.10 so far. So i will need to compile python on my own and make a
>>>> mess
>>>> out of my system again...
>>>>
>>>> Am 07.03.2011 14:30, schrieb Tobias Kummer:
>>>>> I'm on Fedora 14. A quick "sudo yum update python3
>>>>> --enablerepo=rawhide"
>>>>> updated my python to 3.2. Then just had to add SUFFIX = "mu" in my
>>>>> user-config.py. Pretty hacky transition for now, but it works without
>>>>> having to compile Py3.2 for yourself. I think most Linux distros have
>>>>> 3.2 in their development repository, so enabling it for updating
>>>>> Python
>>>>> should fix it.
>>>>>
>>>>> Greets!
>>>>>
>>>>> On 03/07/2011 02:21 PM, Tobias Oelgarte wrote:
>>>>>> I have the same problem. Ubuntu 10.10 is still at 2.6.6 as the
>>>>>> default.
>>>>>> It has 3.1 as the alternative. But why should we now need 3.2 in a
>>>>>> rush.
>>>>>> This makes things only complicated for users that don't want to
>>>>>> compile
>>>>>> anything on their own.
>>>>>>
>>>>>> Am 07.03.2011 14:16, schrieb rsaavedra at ono.com:
>>>>>>> Hi,
>>>>>>>      I compile blender once o twice a week, but today I got this
>>>>>>> error:
>>>>>>>
>>>>>>> #error "Python versions below 3.1 are not supported anymore,
>>>>>>> you'll need to update your python."
>>>>>>>
>>>>>>>      That keep me wondering what the
>>>>>>> problem was, until I realized that in
>>>>>>> blender/python/intern/bpy_util.h
>>>>>>> there was this check:
>>>>>>>
>>>>>>> #if PY_VERSION_HEX<     0x03020000
>>>>>>> #error "Python
>>>>>>> versions below 3.1 are not supported anymore, you'll need to update
>>>>>>> your python."
>>>>>>> #endif
>>>>>>>
>>>>>>>      Please, someone fix the message :)
>>>>>>>
>>>>>>>      By the
>>>>>>> way, I downloaded and compiled python 3.2 and then I had to put
>>>>>>> BF_PYTHON_VERSION = '3.2m' in user-config.py .
>>>>>>>
>>>>>>>      After that it
>>>>>>> copiled without problems and runned. I haven't tested blender yet to
>>>>>>> find if this  breaks anything.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> ----Mensaje original----
>>>>>>> De:
>>>>>>> ideasman42 at gmail.com
>>>>>>> Fecha: 07/03/2011 12:35
>>>>>>> Para: "bf-blender
>>>>>>> developers"<bf-committers at blender.org>
>>>>>>> Asunto: [Bf-committers] Moving
>>>>>>> to Python 3.2.x
>>>>>>>
>>>>>>> Now we have Mac&    Windows building with python 3.1 we
>>>>>>> can drop support
>>>>>>> for all OS's.
>>>>>>> For Linux this probably means you'll
>>>>>>> need to build your own since few
>>>>>>> distributions support py3.2 yet.
>>>>>>>
>>>>>>> I've
>>>>>>> updated the instructions for building python here.
>>>>>>> http://wiki.blender.
>>>>>>> org/index.php/Dev:2.5/Doc/Building_Blender/Linux/Troubleshooting#Python
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> note, since our wiki update the syntax highlighting has gone a
>>>>>>> strange
>>>>>>>
>>>>>>> (since moving servers) so some text is easier to read when selected.
>>>>>>>
>>>>>>>
>>>>>>> One gotcha with 3,.2 is that python now has a suffix which
>>>>>>> depends on
>>>>>>>
>>>>>>> build-options so you may have libpython32mu.so or libpython32d.so,
>>>>>>>
>>>>>>> where before it was simply libpython32.so.
>>>>>>>
>>>>>>>>    From ./configure.in
>>>>>>>     * --
>>>>>>> with-pydebug (adds a 'd')
>>>>>>>     * --with-pymalloc (adds a 'm')
>>>>>>>     * --with-
>>>>>>> wide-unicode (adds a 'u')
>>>>>>>
>>>>>>> This means getting the path to includes&
>>>>>>> libs isn't so simple
>>>>>>> anymore, for linux it may be best to search for
>>>>>>> all possibly
>>>>>>> combinations of d/m/u to detect the python version, but
>>>>>>> for now these
>>>>>>> need to be set manually.
>>>>>>>
>>>>>> _______________________________________________
>>>>>> Bf-committers mailing list
>>>>>> Bf-committers at blender.org
>>>>>> http://lists.blender.org/mailman/listinfo/bf-committers
>>>>>>
>>>>> _______________________________________________
>>>>> Bf-committers mailing list
>>>>> Bf-committers at blender.org
>>>>> http://lists.blender.org/mailman/listinfo/bf-committers
>>>>>
>>>> _______________________________________________
>>>> Bf-committers mailing list
>>>> Bf-committers at blender.org
>>>> http://lists.blender.org/mailman/listinfo/bf-committers
>>>>
>>> _______________________________________________
>>> Bf-committers mailing list
>>> Bf-committers at blender.org
>>> http://lists.blender.org/mailman/listinfo/bf-committers
>>>
>>
>
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
>



-- 
- Campbell


More information about the Bf-committers mailing list