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.

classification
Title: Windows installer should split tcl/tk and tkinter install options.
Type: enhancement Stage: resolved
Components: Installation, Tkinter, Windows Versions: Python 3.5
process
Status: closed Resolution: rejected
Dependencies: Superseder:
Assigned To: Nosy List: loewis, ron_adam, serhiy.storchaka, steve.dower, terry.reedy, tim.golden, zach.ware
Priority: normal Keywords:

Created on 2007-02-07 17:50 by ron_adam, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Messages (10)
msg55006 - (view) Author: Ron Adam (ron_adam) * Date: 2007-02-07 17:50
On Windows, installing tcl/tk separately without removing tcl/tk from python can cause tkinter to be very unstable. These bugs happen even if the versions differ by only a minor release number from the version shipped with python.

Selecting to not install tcl/tk with the installer also removes tkinter, and idle.  Which is what you don't want in this case.

To be able to use tkinter and idle and a full installation of tcl/tk you need to manually remove the following:

 - python/tcl directory
 - python/dlls/tcl84.dll
 - python/dlls/tk84.dll
 - python/dlls/tclpip84.dll

(or the corresponding versions)

And then make sure tcl's bin directory is in the path. 

This also avoids problems resulting from attempting to install tcl extensions into the python tcl directory (or tcl into pythons tcl directory) which tends to not work. 

Separating the tcl/tk and tkinter/idle in the installer along with adding advise on using a separate tcl installation with python would be helpful to some people.
msg55007 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2007-02-07 21:14
I cannot understand why Python's Tkinter becomes unstable when Tcl is installed, or vice versa. Are you setting any environment variables (like TCL_HOME)? You should not do that.
msg55008 - (view) Author: Ron Adam (ron_adam) * Date: 2007-02-08 01:19
I think part of my problem was because of having python/dlls directory in windows file path.  So that does explain some of it. Probably due to following instructions like this.

   http://mail.python.org/pipermail/python-win32/2002-September/000497.html

It still would be nice to have the option to not install tcl/tk (but keep tkinter) and use the newest update of tcl with python.

I use BLT to do graphs, and it installs fine if you remove tcl from python, install tcl and BLT together.  Keeping tcl in python results in the errors reported in th e above link. And following the advice and adding python/dlls to the path can result in conflicts.  

Is that clearer.  I know this isn't a common occurrence and not a problem with python directly.  That's why I listed it as a feature request and not as a bug.

msg55009 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2007-02-08 09:21
Moving it to the feature-requests tracker.
msg224515 - (view) Author: Mark Lawrence (BreamoreBoy) * Date: 2014-08-01 19:28
Quoting from msg55008 "I know this isn't a common occurrence and not a problem with python directly" I believe this should be closed as "won't fix", what do the rest of you think?
msg224522 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2014-08-01 21:22
I am not sure whether separately installing tcl/tk is generally feasible, without special care. tkinter depends on _tkinter, which is compiled against a particular tk version compiled with the same MS C compiler.

It was also not clear from the linked report why the BLT.dll would not work with the co-installed tcl/tk but would work with a separately installed tcl/tk.  Zack recently changed some of the tcl/tk compile options. Perhaps they make a difference.

I think being able to add tcl/tk extentions on Windows would be nice -- I can imagine wanting to do so myself. But I think the request should be 'compile and install tcl/tk so that user can add tcl/tk extensions' (without deleting and reinstalling).
msg238902 - (view) Author: Mark Lawrence (BreamoreBoy) * Date: 2015-03-22 14:29
@Steve what is your take on this?
msg238907 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2015-03-22 14:40
tkinter and our tcl/tk builds are so closely linked there's no point separating them IMHO.

It sounds like this report was prompted by a misconfiguration, so there's nothing really to fix here.
msg324555 - (view) Author: Zachary Ware (zach.ware) * (Python committer) Date: 2018-09-04 05:14
Since installing tkinter without Tcl/Tk would leave tkinter unusable without a separately installed and configured Tcl/Tk (and thus probably generate copious reports about tkinter being broken), I don't think this is a good idea.  If someone *really* wants a different Tcl/Tk environment, they can always create their own.  Closing as rejected.

Terry's suggestion about being able to install Tcl/Tk extensions sounds reasonable, but I haven't played around with it and that should have its own issue if we're going to do anything with it.
msg324600 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2018-09-04 19:15
In support of closing this, I note that we have gone the opposite direction on Mac, installing current tcl/tk together with _tkinter compiled against the tcl/tk being installed.
History
Date User Action Args
2022-04-11 14:56:22adminsetgithub: 44557
2018-09-04 19:15:45terry.reedysetnosy: - BreamoreBoy
messages: + msg324600
2018-09-04 05:14:48zach.waresetstatus: open -> closed
title: Installer should split tcl/tk and tkinter install options. -> Windows installer should split tcl/tk and tkinter install options.
messages: + msg324555

assignee: loewis ->
resolution: rejected
stage: test needed -> resolved
2015-03-22 14:40:39steve.dowersetmessages: + msg238907
2015-03-22 14:29:25BreamoreBoysetmessages: + msg238902
2014-08-01 21:22:41terry.reedysetnosy: + serhiy.storchaka
messages: + msg224522
2014-08-01 19:28:04BreamoreBoysetversions: + Python 3.5, - Python 3.2
nosy: + BreamoreBoy, terry.reedy, tim.golden, steve.dower, zach.ware

messages: + msg224515

components: + Windows
2010-08-09 03:48:45terry.reedysetversions: + Python 3.2, - Python 3.1, Python 2.7
2009-03-30 21:24:25ajaksu2setstage: test needed
components: + Installation
versions: + Python 3.1, Python 2.7
2007-09-02 19:53:51loewissetseverity: normal -> minor
2007-02-07 17:50:09ron_adamcreate