[Pythonmac-SIG] Lion
Ned Deily
nad at acm.org
Fri Jul 22 01:26:41 CEST 2011
In article <nad-ADC32D.17270820072011 at news.gmane.org>,
Ned Deily <nad at acm.org> wrote:
> The 64-bit/32-bin python.org installers (current releases are 3.2.1 and
> 2.7.2) *should* work on 10.7 Lion. I'm not so sure about the
> traditional 32-bit-only ones (the 10.3+ ones). As with 10.6, I expect
> you will need to install ActiveState Tcl/Tk 8.5 if you want to use
> Tkinter or IDLE as there have been some recent fixes for Cocoa Tk. I
> just have completed downloading the official 10.7 release and should
> have some preliminary results posted by tomorrow.
Here's my take on things after installing and some quick testing with
10.7 Lion:
- If you were satisfied with using the Apple-supplied Pythons in
previous OS X releases, you'll probably be satisfied with the 2.7, 2.6,
or 2.5 system Pythons in 10.7.
- You should not rely on the Apple-suppled Pythons if you want to use
IDLE.
http://www.python.org/download/mac/tcltk/
- If you prefer to use more recent Pythons and have been satisfied with
python.org OS X installers, use the most recent 3.2.1 or 2.7.2
64-bit/32-bit (x86-64 / i386) installers for Mac OS X:
http://www.python.org/download/
As with 10.6, if you are planning to use IDLE or Tkinter with these
installers, you should also install the most recent ActiveTcl 8.5 if you
can (check the license terms):
http://www.activestate.com/activetcl/downloads
- If you need to install any Python packages that build C extension
modules, you'll need to install Xcode for Lion (currently 4.1 and now
available for free download through the Mac App store).
- The traditional python.org 32-bit-only 10.3+ (i386/PPC) Pythons can be
installed on 10.7 and do work in general; however, it is not practical
to build C extension modules on 10.7 that will work with them (since
Xcode 4 no longer includes the 10.4u SDK nor gcc-4.0). Unless you have
specialized needs and know what you are doing, you should avoid using
the traditional 32-bit-only installers on 10.7 in favor of either using
the 64-bit/32-bit variants, using versions from a different distributor,
or building your own. As on 10.6, if you need to run in 32-bit mode,
you can use "python3.2-32" or "python2.7-32" with the 64-bit/32-bit
variants.
Random details:
Apple ships 10.7 with 3 system Pythons:
/usr/bin/python2.7
Python 2.7.1 (r271:86832, Jun 16 2011, 16:59:05)
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on
darwin
/usr/bin/python2.6
Python 2.6.6 (r266:84292, Jun 16 2011, 16:59:16)
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on
darwin
/usr/bin/python2.5
Python 2.5.5 (r255:77872, Jun 16 2011, 16:58:16)
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on
darwin
The 2.7 and 2.6 instances are 2-way Intel universal binaries (x86_64 and
i386); the 2.5 one is i386 (32-bit) only. The 2.7 version, at least,
comes pre-installed with various 3rd-party packages, like setupttols,
PyObjC, py2app, numpy, twisted, Zope, etc, similar to what was shipped
for 2.6 in 10.6. (I didn't look at the 2.6 and 2.5 frameworks.) The
downside of shipping these packages is that some, including Python
itself, are not the latest versions.
Tcl/Tk: As in 10.6, Apple ships two versions of Tcl/Tk: a Cocoa Tk 8.5
and the venerable Carbon Tk 8.4. The 8.5 version has been updated to
8.5.9. The Tkinters in all three Apple-supplied Pythons are linked with
8.5. The good news is that the updated 8.5 is not the disaster that the
10.6 version was. The bad news is that it is missing at least one fix
to Tk from earlier this year:
Cocoa Tk crashes when typing a composite character into a text field
(http://sourceforge.net/tracker/index.php?func=detail&aid=2907388&group_i
d=12997&atid=112997). The fix for this crash is incorporated into the
most recent ActiveTcl 8.5 releases for OS X. However, the system
Pythons will not attempt to dynamically link to user-installed Tcl/Tk
frameworks in /Library (where the ActiveState frameowrks are installed),
unlike the Pythons installed by python.org installers. So, out of the
box, the IDLE versions that come with the system Pythons are vulnerable
to this. But at least they aren't totally unusable as was the case with
10.6. And I suppose if there are enough bug reports this fix might get
applied in a future 10.7 update.
Although it's not practical to build packages with C extension modules
on 10.7 for the traditional 32-bit-only python.org Pythons (as explained
above), it is possible to build such packages with the same Python
installed on a 10.6, 10.5, or even 10.4 system, create a Distutils bdist
or setuptools/Distribute bdist-egg and then install the binary
distribution on the 10.7 system. I would avoid going down that path if
possible, unless it is needed as a temporary transition phase.
--
Ned Deily,
nad at acm.org
More information about the Pythonmac-SIG
mailing list