mirror of
https://github.com/python/cpython.git
synced 2024-11-24 10:24:35 +08:00
Issue #15663: Revert OS X installer built-in Tcl/Tk support for 3.3.3.
Some third-party projects, such as matplotlib and PIL/Pillow, depended on being able to build with Tcl and Tk frameworks in /Library/Frameworks. They were unable to build with the built-in Tcl/Tk and/or execute correctly.
This commit is contained in:
parent
9b513bf6ca
commit
85b8be1ac8
@ -57,40 +57,13 @@ for each release.
|
||||
|
||||
* NCurses 5.9 (http://bugs.python.org/issue15037)
|
||||
* SQLite 3.7.13
|
||||
* Tcl 8.5.15
|
||||
* Tk 8.5.15
|
||||
* XZ 5.0.3
|
||||
|
||||
- uses system-supplied versions of third-party libraries
|
||||
|
||||
* readline module links with Apple BSD editline (libedit)
|
||||
|
||||
- requires ActiveState Tcl/Tk 8.5.14 (or later) to be installed for building
|
||||
|
||||
* Beginning with Python 3.3.3, this installer now includes its own
|
||||
builtin copy of Tcl and Tk 8.5.15 libraries and thus is no longer
|
||||
dependent on the buggy releases of Aqua Cocoa Tk 8.5 shipped with
|
||||
OS X 10.6 or on installing a newer third-party version of Tcl/Tk
|
||||
in /Library/Frameworks, such as from ActiveState. If it is
|
||||
necessary to fallback to using a third-party Tcl/Tk because of
|
||||
a problem with the builtin Tcl/Tk, there is a backup version of
|
||||
the _tkinter extension included which will dynamically link to
|
||||
Tcl and Tk frameworks in /Library/Frameworks as in previous releases.
|
||||
To enable (for all users of this Python 3.3)::
|
||||
|
||||
sudo bash
|
||||
cd /Library/Frameworks/Python.framework/Versions/3.3
|
||||
cd ./lib/python3.3
|
||||
cp -p ./lib-tkinter/library/_tkinter.so ./lib-dynload
|
||||
exit
|
||||
|
||||
To restore using Python's builtin versions of Tcl and Tk::
|
||||
|
||||
sudo bash
|
||||
cd /Library/Frameworks/Python.framework/Versions/3.3
|
||||
cd ./lib/python3.3
|
||||
cp -p ./lib-tkinter/builtin/_tkinter.so ./lib-dynload
|
||||
exit
|
||||
- requires ActiveState Tcl/Tk 8.5.9 (or later) to be installed for building
|
||||
|
||||
- recommended build environment:
|
||||
|
||||
|
@ -193,7 +193,7 @@ def library_recipes():
|
||||
|
||||
LT_10_5 = bool(DEPTARGET < '10.5')
|
||||
|
||||
if DEPTARGET > '10.5':
|
||||
if (DEPTARGET > '10.5') and (getVersionTuple() >= (3, 4)):
|
||||
result.extend([
|
||||
dict(
|
||||
name="Tcl 8.5.15",
|
||||
@ -571,7 +571,7 @@ def checkEnvironment():
|
||||
# - the traditional version (renamed to _tkinter_library.so) linked
|
||||
# with /Library/Frameworks/{Tcl,Tk}.framework
|
||||
# - the default version linked with our builtin copies of Tcl and Tk
|
||||
if DEPTARGET > '10.5':
|
||||
if (DEPTARGET > '10.5') and (getVersionTuple() >= (3, 4)):
|
||||
EXPECTED_SHARED_LIBS['_tkinter_library.so'] = \
|
||||
EXPECTED_SHARED_LIBS['_tkinter.so']
|
||||
EXPECTED_SHARED_LIBS['_tkinter.so'] = [
|
||||
@ -971,7 +971,7 @@ def buildPython():
|
||||
# out-of-date and has critical bugs. Save the _tkinter.so that was
|
||||
# linked with /Library/Frameworks/{Tck,Tk}.framework and build
|
||||
# another _tkinter.so linked with our builtin Tcl and Tk libs.
|
||||
if DEPTARGET > '10.5':
|
||||
if (DEPTARGET > '10.5') and (getVersionTuple() >= (3, 4)):
|
||||
runCommand("find build -name '_tkinter.so' "
|
||||
" -execdir mv '{}' _tkinter_library.so \;")
|
||||
print("Running make to build builtin _tkinter")
|
||||
@ -1012,7 +1012,7 @@ def buildPython():
|
||||
# users to select which to import by manipulating sys.path
|
||||
# directly or with PYTHONPATH.
|
||||
|
||||
if DEPTARGET > '10.5':
|
||||
if (DEPTARGET > '10.5') and (getVersionTuple() >= (3, 4)):
|
||||
TKINTERS = ['builtin', 'library']
|
||||
tkinter_moves = [('_tkinter_' + tkn + '.so',
|
||||
os.path.join(path_to_lib, 'lib-tkinter', tkn))
|
||||
@ -1059,7 +1059,7 @@ def buildPython():
|
||||
# The files are moved after the entire tree has been walked
|
||||
# since the shared library checking depends on the files
|
||||
# having unique names.
|
||||
if DEPTARGET > '10.5':
|
||||
if (DEPTARGET > '10.5') and (getVersionTuple() >= (3, 4)):
|
||||
for tkm in tkinter_moves:
|
||||
if fn == tkm[0]:
|
||||
moves_list.append(
|
||||
|
@ -17,27 +17,18 @@ instead of double-clicking, control-click or right click the "Python"
|
||||
installer package icon. Then select "Open using ... Installer" from
|
||||
the contextual menu that appears.
|
||||
|
||||
**** IMPORTANT changes if you use IDLE and Tkinter ****
|
||||
**** IMPORTANT ****
|
||||
|
||||
Installing a third-party version of Tcl/Tk is no longer required
|
||||
================================================================
|
||||
Update your version of Tcl/Tk to use IDLE or other Tk applications
|
||||
==================================================================
|
||||
|
||||
As of Python 3.3.3, the 10.6+ 64-bit installer now
|
||||
comes with its own private copy of Tcl and Tk 8.5 libraries. For
|
||||
this version of Python, it is no longer necessary to install
|
||||
a third-party version of Tcl/Tk 8.5, such as those from ActiveState,
|
||||
to work around the problematic versions of Tcl/Tk 8.5 shipped by
|
||||
Apple in OS X 10.6 and later. (This does not change the requirements
|
||||
for older versions of Python installed from python.org.) By default,
|
||||
this version of Python will always use its own private version,
|
||||
regardless of whether a third-party Tcl/Tk is installed.
|
||||
The 10.5+ 32-bit-only installer continues to use Tcl/Tk 8.4,
|
||||
either a third-party or system-supplied version.
|
||||
|
||||
Visit http://www.python.org/download/mac/tcltk/
|
||||
To use IDLE or other programs that use the Tkinter graphical user
|
||||
interface toolkit, you may need to install a newer third-party version
|
||||
of the Tcl/Tk frameworks. Visit http://www.python.org/download/mac/tcltk/
|
||||
for current information about supported and recommended versions of
|
||||
Tcl/Tk for this version of Python and of Mac OS X.
|
||||
|
||||
|
||||
Using this version of Python on OS X
|
||||
====================================
|
||||
|
||||
|
@ -25,7 +25,11 @@ See the ReadMe file and the Python documentation for more information.\
|
||||
\b0 at any time to make $FULL_VERSION the default Python 3 version. This version can co-exist with other installed versions of Python 3 and Python 2.\
|
||||
\
|
||||
|
||||
\b IMPORTANT for users of IDLE and tkinter:
|
||||
\b0 As of Python 3.3.3, it is no longer necessary to install third-party versions of the
|
||||
\b IMPORTANT:
|
||||
\b0
|
||||
\b IDLE
|
||||
\b0 and other programs using the
|
||||
\b tkinter
|
||||
\b0 graphical user interface toolkit require specific versions of the
|
||||
\b Tcl/Tk
|
||||
\b0 platform independent windowing toolkit. Please read the ReadMe file and visit {\field{\*\fldinst{HYPERLINK "http://www.python.org/download/mac/tcltk/"}}{\fldrslt http://www.python.org/download/mac/tcltk/}} for more information on supported and recommended versions of Tcl/Tk for this version of Python and Mac OS X.}
|
||||
\b0 platform independent windowing toolkit. Visit {\field{\*\fldinst{HYPERLINK "http://www.python.org/download/mac/tcltk/"}}{\fldrslt http://www.python.org/download/mac/tcltk/}} for current information on supported and recommended versions of Tcl/Tk for this version of Python and Mac OS X.}
|
@ -12,6 +12,14 @@ Tests
|
||||
|
||||
- Issue #18964: Fix test_tcl when run with Tcl/Tk versions < 8.5.
|
||||
|
||||
Build
|
||||
-----
|
||||
|
||||
- Issue #15663: Revert OS X installer built-in Tcl/Tk support for 3.3.3.
|
||||
Some third-party projects, such as Matplotlib and PIL/Pillow,
|
||||
depended on being able to build with Tcl and Tk frameworks in
|
||||
/Library/Frameworks.
|
||||
|
||||
|
||||
What's New in Python 3.3.3 release candidate 1?
|
||||
===============================================
|
||||
|
Loading…
Reference in New Issue
Block a user