-
-
Notifications
You must be signed in to change notification settings - Fork 30.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Drop support of Tcl/Tk older than 8.5.12 #91152
Comments
In bpo-45979 E. Paine suggested to drop support of Tcl/Tk older than 8.5.12 (8.5.12 was released on 2012-07-27 and 8.6.0 on 2012-12-20). Tkinter tests contain workarounds and special cases for older versions of Tcl/Tk, many of them can be removed. Also some Python and C code of tkinter can be simplified. |
One consideration is support for older LTS distributions of Linux, RHEL/Centos 7 appears to ship with Tcl/Tk 8.5. The system install of Tcl/Tk on macOS is also 8.5, but that variant has too many bugs to try to support it. |
8.5.12 will be 10 years old at the time of releasing 3.11. We can relax the requirements for 8.5.x, so the code can be build with older versions, but some tests will fail because we removed workarounds for differences in behavior in older versions from tests. The LTS distributions can also provide their own patches which relax the requirements. |
Ronald: According to a page (which I cannot find, E. Paine should know) Centos 7 has the oldest tcl among current *nix distributions. Serhiy: IDLE has required TkVersion >= 8.5 for some years (currently top of pyshell.py). Does the _tkinter.c line Is there any reason that IDLE might someday require 8.6 before tkinter does? |
After PR 31839 has been merged you cannot build the _tkinter module with Tcl/Tk older than 8.5.12. If you will still try to run IDLE on such incomplete build, an import error during importing tkinter will be translated to IDLE error: $ ./python -m idlelib
** IDLE can't import Tkinter.
Your Python may not be configured for Tk. ** IDLE might someday require 8.6 if it start using some 8.6 features non-optionally. |
tk release availability is a bit confusing. Similarly, |
Terry: tkinter on macOS already effectively does not support Tk 8.5, or basically anything bug the latest 8.6.x release. That's because older versions have too many bugs that affect Python users, which mostly show up on our tracker as bug reports about IDLE. Because of this we generally close issues that mention using tkinter with 8.5 on macOS unless the problem can be reproduced using 8.6 as well (using the installer on python.org). |
@serhiy-storchaka @ned-deily Does this tk requirement update affect the need for IDLE to support 4 Apple graphics versions in idlelib.macOS? Or is it a matter of how far back tk support goes? |
* Autoconf and aclocal: issue pythonGH-89886 * SQLite 3.15.2: issue pythonGH-105875 * Tcl/Tk 8.5.12: issue pythonGH-91152
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: