Miscellaneous corrections and updates to the OS X README file.

This commit is contained in:
Ned Deily 2014-05-17 14:31:34 -07:00
commit 4915035e84
1 changed files with 17 additions and 13 deletions

View File

@ -12,6 +12,9 @@ Python on Mac OS X README
This document provides a quick overview of some Mac OS X specific features in This document provides a quick overview of some Mac OS X specific features in
the Python distribution. the Python distribution.
OS X specific arguments to configure
====================================
* ``--enable-framework[=DIR]`` * ``--enable-framework[=DIR]``
If this argument is specified the build will create a Python.framework rather If this argument is specified the build will create a Python.framework rather
@ -121,7 +124,7 @@ on a system running OS X 10.5 or later. The ``all`` and ``64-bit`` flavors can
only be built with an 10.5 SDK because ``ppc64`` support was only included with only be built with an 10.5 SDK because ``ppc64`` support was only included with
OS X 10.5. Although legacy ``ppc`` support was included with Xcode 3 on OS X OS X 10.5. Although legacy ``ppc`` support was included with Xcode 3 on OS X
10.6, it was removed in Xcode 4, versions of which were released on OS X 10.6 10.6, it was removed in Xcode 4, versions of which were released on OS X 10.6
and which is the current standard for OS X 10.7 and 10.8. To summarize, the and which is the standard for OS X 10.7. To summarize, the
following combinations of SDKs and universal-archs flavors are available: following combinations of SDKs and universal-archs flavors are available:
* 10.4u SDK with Xcode 2 supports ``32-bit`` only * 10.4u SDK with Xcode 2 supports ``32-bit`` only
@ -134,6 +137,8 @@ following combinations of SDKs and universal-archs flavors are available:
* 10.7 and 10.8 SDKs with Xcode 4 support ``intel`` only * 10.7 and 10.8 SDKs with Xcode 4 support ``intel`` only
* 10.8 and 10.9 SDKs with Xcode 5 support ``intel`` only
The makefile for a framework build will also install ``python3.4-32`` The makefile for a framework build will also install ``python3.4-32``
binaries when the universal architecture includes at least one 32-bit binaries when the universal architecture includes at least one 32-bit
architecture (that is, for all flavors but ``64-bit``). architecture (that is, for all flavors but ``64-bit``).
@ -161,7 +166,6 @@ subprocesses also run in 32-bit-mode if the main interpreter does, use
a ``python3.4-32`` binary and use the value of ``sys.executable`` as the a ``python3.4-32`` binary and use the value of ``sys.executable`` as the
``subprocess`` ``Popen`` executable value. ``subprocess`` ``Popen`` executable value.
Building and using a framework-based Python on Mac OS X. Building and using a framework-based Python on Mac OS X.
======================================================== ========================================================
@ -171,7 +175,7 @@ Building and using a framework-based Python on Mac OS X.
The main reason is because you want to create GUI programs in Python. With the The main reason is because you want to create GUI programs in Python. With the
exception of X11/XDarwin-based GUI toolkits all GUI programs need to be run exception of X11/XDarwin-based GUI toolkits all GUI programs need to be run
from a Mac OSX application bundle (".app"). from a Mac OS X application bundle (".app").
While it is technically possible to create a .app without using frameworks you While it is technically possible to create a .app without using frameworks you
will have to do the work yourself if you really want this. will have to do the work yourself if you really want this.
@ -196,7 +200,7 @@ Versions/Current and you will see the familiar bin and lib directories.
3. Do I need extra packages? 3. Do I need extra packages?
---------------------------- ----------------------------
Yes, probably. If you want Tkinter support you need to get the OSX AquaTk Yes, probably. If you want Tkinter support you need to get the OS X AquaTk
distribution, this is installed by default on Mac OS X 10.4 or later. Be distribution, this is installed by default on Mac OS X 10.4 or later. Be
aware, though, that the Cocoa-based AquaTk's supplied starting with OS X aware, though, that the Cocoa-based AquaTk's supplied starting with OS X
10.6 have proven to be unstable. If possible, you should consider 10.6 have proven to be unstable. If possible, you should consider
@ -212,9 +216,9 @@ If you want Cocoa you need to get PyObjC.
------------------------------------- -------------------------------------
This directory contains a Makefile that will create a couple of python-related This directory contains a Makefile that will create a couple of python-related
applications (full-blown OSX .app applications, that is) in applications (full-blown OS X .app applications, that is) in
"/Applications/Python <VERSION>", and a hidden helper application Python.app "/Applications/Python <VERSION>", and a hidden helper application Python.app
inside the Python.framework, and unix tools "python" and "pythonw" into inside the Python.framework, and unix tools including "python" into
/usr/local/bin. In addition it has a target "installmacsubtree" that installs /usr/local/bin. In addition it has a target "installmacsubtree" that installs
the relevant portions of the Mac subtree into the Python.framework. the relevant portions of the Mac subtree into the Python.framework.
@ -252,18 +256,18 @@ What do all these programs do?
"IDLE.app" is an integrated development environment for Python: editor, "IDLE.app" is an integrated development environment for Python: editor,
debugger, etc. debugger, etc.
"PythonLauncher.app" is a helper application that will handle things when you "Python Launcher.app" is a helper application that will handle things when you
double-click a .py, .pyc or .pyw file. For the first two it creates a Terminal double-click a .py, .pyc or .pyw file. For the first two it creates a Terminal
window and runs the scripts with the normal command-line Python. For the window and runs the scripts with the normal command-line Python. For the
latter it runs the script in the Python.app interpreter so the script can do latter it runs the script in the Python.app interpreter so the script can do
GUI-things. Keep the ``Option`` key depressed while dragging or double-clicking GUI-things. Keep the ``Option`` key depressed while dragging or double-clicking
a script to set runtime options. These options can be set persistently a script to set runtime options. These options can be set persistently
through PythonLauncher's preferences dialog. through Python Launcher's preferences dialog.
The program ``pythonx.x`` runs python scripts from the command line. Various The program ``pythonx.x`` runs python scripts from the command line.
compatibility aliases are also installed, including ``pythonwx.x`` which Previously, various compatibility aliases were also installed, including
in early releases of Python on OS X was required to run GUI programs. In ``pythonwx.x`` which in early releases of Python on OS X was required to run
current releases, the ``pythonx.x`` and ``pythonwx.x`` commands are identical. GUI programs. As of 3.4.0, the ``pythonwx.x`` aliases are no longer installed.
How do I create a binary distribution? How do I create a binary distribution?
====================================== ======================================
@ -308,7 +312,7 @@ The configure script sometimes emits warnings like the one below::
configure: WARNING: libintl.h: check for missing prerequisite headers? configure: WARNING: libintl.h: check for missing prerequisite headers?
configure: WARNING: libintl.h: see the Autoconf documentation configure: WARNING: libintl.h: see the Autoconf documentation
configure: WARNING: libintl.h: section "Present But Cannot Be Compiled" configure: WARNING: libintl.h: section "Present But Cannot Be Compiled"
configure: WARNING: libintl.h: proceeding with the preprocessor's result configure: WARNING: libintl.h: proceeding with the preprocessor's result
configure: WARNING: libintl.h: in the future, the compiler will take precedence configure: WARNING: libintl.h: in the future, the compiler will take precedence
configure: WARNING: ## -------------------------------------- ## configure: WARNING: ## -------------------------------------- ##
configure: WARNING: ## Report this to http://bugs.python.org/ ## configure: WARNING: ## Report this to http://bugs.python.org/ ##