[Tkinter-discuss] how make active python 3 use active tcl on mac os?

Ned Deily nad at acm.org
Sat Nov 27 04:24:26 CET 2010


In article <4CF0667A.1040704 at activestate.com>,
> Are you sure `python3-32` (and `python3-64`) are included in Python 
> 3.1.2, or is this something new in 3.1.3 (svn)?

3.1.2 and 3.1.3 should be identical in that respect.  The most recent 
3.1.2 installers with 32-bit/64-bit support that I built (around 
3.1.2rc1 time) had them:

$cd /Library/Frameworks/Python.framework/Versions/3.1/bin
$ ls -l
total 528
lrwxr-xr-x  1 root  admin      8 Nov 26 18:38 2to3@ -> 2to3-3.1
-rwxrwxr-x  1 root  admin    150 Mar 17  2010 2to3-3.1*
lrwxr-xr-x  1 root  admin      7 Nov 26 18:38 idle3@ -> idle3.1
-rwxrwxr-x  1 root  admin    138 Mar 17  2010 idle3.1*
lrwxr-xr-x  1 root  admin      8 Nov 26 18:38 pydoc3@ -> pydoc3.1
-rwxrwxr-x  1 root  admin    123 Mar 17  2010 pydoc3.1*
-rwxrwxr-x  2 root  admin  24968 Mar 17  2010 python3*
lrwxr-xr-x  1 root  admin     12 Nov 26 18:38 python3-32@ -> python3.1-32
lrwxr-xr-x  1 root  admin     12 Nov 26 18:38 python3-64@ -> python3.1-64
lrwxr-xr-x  1 root  admin     13 Nov 26 18:38 python3-all@ -> 
python3.1-all
lrwxr-xr-x  1 root  admin     16 Nov 26 18:38 python3-config@ -> 
python3.1-config
lrwxr-xr-x  1 root  admin     12 Nov 26 18:38 python3.1@ -> python3.1-32
-rwxrwxr-x  2 root  admin  24968 Mar 17  2010 python3.1-32*
-rwxrwxr-x  1 root  admin  24968 Mar 17  2010 python3.1-64*
-rwxrwxr-x  1 root  admin  24968 Mar 17  2010 python3.1-all*
-rwxrwxr-x  1 root  admin   1440 Mar 17  2010 python3.1-config*
lrwxr-xr-x  1 root  admin     13 Nov 26 18:38 pythonw3@ -> pythonw3.1-32
lrwxr-xr-x  1 root  admin     13 Nov 26 18:38 pythonw3-32@ -> 
pythonw3.1-32
lrwxr-xr-x  1 root  admin     13 Nov 26 18:38 pythonw3-64@ -> 
pythonw3.1-64
lrwxr-xr-x  1 root  admin     14 Nov 26 18:38 pythonw3-all@ -> 
pythonw3.1-all
lrwxr-xr-x  1 root  admin     13 Nov 26 18:38 pythonw3.1@ -> 
pythonw3.1-32
-rwxrwxr-x  1 root  admin  24968 Mar 17  2010 pythonw3.1-32*
-rwxrwxr-x  1 root  admin  24968 Mar 17  2010 pythonw3.1-64*
-rwxrwxr-x  1 root  admin  24968 Mar 17  2010 pythonw3.1-all*
$ python3.1-32 -c 'import sys;print(sys.maxsize)'
2147483647
$ python3.1-64 -c 'import sys;print(sys.maxsize)'
9223372036854775807

> I certainly don't see the -32/-64 binaries in ActivePython 3.1.2.4 
> (based on Python 3.1.2). So if 3.1.2 is supposed to generate these - 
> then this is an ActivePython bug that needs to be fixed.

As I noted earlier, 32-bit/64-bit 3.1 (and 2.6, for that matter) builds 
do not support architecture selection via the arch command on 10.6, 
which will always prefer to launch 64-bit if possible.  A feature was 
added to 2.7 and 3.2 to support this.  For 2.6 and 3.1 systems, the 
standard ./configure options --with-universal-archs="3-way", "intel" or 
"all" create the separate 32- and -64-bit executables.  Running on 10.6 
you can see the problem with the ActivePython 3.1.2.4 - it always runs 
in 64-bit mode:

$ python3.1
ActivePython 3.1.2.4 (ActiveState Software Inc.) based on
Python 3.1.2 (r312:79147, Oct 22 2010, 10:36:09) 
[GCC 4.2.1 (Apple Inc. build 5664)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Module readline not available.
>>> import sys
>>> sys.maxsize
9223372036854775807
>>> ^D
$ arch -i386 python3.1 -c 'import sys;print(sys.maxsize)'
9223372036854775807
$ arch -x86_64 python3.1 -c 'import sys;print(sys.maxsize)'
9223372036854775807

(Also, I don't have a 10.5 Intel system handy at the moment but I wonder 
how the ActivePython Tkinter would work at all there since there is no 
/System/Library/Frameworks/Tk.framework/Versions/8.5/Tcl or Tk).

-- 
 Ned Deily,
 nad at acm.org



More information about the Tkinter-discuss mailing list