This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author culler
Recipients culler, eric.smith, ned.deily, ronaldoussoren
Date 2020-10-18.14:57:07
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1603033027.82.0.282264096525.issue42068@roundup.psfhosted.org>
In-reply-to
Content
Dear Ronald,

You are correct that "It is already possible to replace the Tcl/Tk libraries by replacing the relevant files in Python.framework."
I know that because I have done it.  Moreover, having done it, I
know that it is much more difficult than it should be.  A large
part of the difficulty is that the directory structure of the
Tcl/Tk installation within the Python framework is undocumented and
completely different from that used within Tcl.framework and
Tk.framework.  There is no need for that.  The versions of those
frameworks with Python wants to use could simply be embedded within
the Python.framework as subframeworks.  That simplifies the build and
it simplifies upgrades and it costs nothing as far as Python is
concerned.

The backwards compatibility promise offered by Tk and Tcl means that
replacing Tcl/Tk 8.6.X with Tcl/Tk 8.6.Y will work with no change to
the binary _tkinter.ZZZZ module.  When improvements or bug fixes are
made to Tcl and Tk it should be straightforward for users to update
Python so that it will take advantage of those improvements.  Before
Tcl and Tk were included in the Python framework that was simple.
You could just install the newer release of Tcl/Tk (at least for patch
releases).  Since _tkinter would look in the standard places, i.e.
/Library/Frameworks/Tk.framework (or Tcl.framework) for its shared
libraries, that would automatically work.

The point is that it could, and should, be just as simple to make such
an upgrade with the new where Tcl and Tk are included within the Python.framework.

That is what I am trying to accomplish.  The scope of this change will
probably be clearer if I make a pull request.  So I will do that.
History
Date User Action Args
2020-10-18 14:57:07cullersetrecipients: + culler, ronaldoussoren, eric.smith, ned.deily
2020-10-18 14:57:07cullersetmessageid: <1603033027.82.0.282264096525.issue42068@roundup.psfhosted.org>
2020-10-18 14:57:07cullerlinkissue42068 messages
2020-10-18 14:57:07cullercreate