classification
Title: Python start
Type: behavior Stage: resolved
Components: IDLE Versions: Python 3.4, Python 2.7
process
Status: closed Resolution: not a bug
Dependencies: Superseder:
Assigned To: Nosy List: jack, steve.dower, terry.reedy
Priority: normal Keywords:

Created on 2015-08-14 15:54 by jack, last changed 2015-08-15 20:22 by steve.dower. This issue is now closed.

Messages (7)
msg248593 - (view) Author: (jack) Date: 2015-08-14 15:54
I just installed Python 3.4.3 on a 32-bit machine, 2 GB memory, Win XP SP3. When I try to start IDLE, pythonw.exe appears briefly in the Windows Task Manager, then disappears, and nothing else happens. If I run just python.exe in a command window, that runs OK. The same behavior happens after installing version 2.7.10. This happens for both of these versions, regardless of whether the other one is installed or not. The same also happened for version 3.1.2.

On the other hand, version 2.5 runs just fine. I tried all this also in Windows Safe Mode, where there were only about half a dozen core Windows processes in the task manager, with the same result.
msg248630 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2015-08-15 01:49
For 3.4.3, run 'python -m idlelib' in the command window and you should see some error message.  But first run 'python' and at the >>> prompt, 'import tkinter' to see if tkinter is working properly.
msg248643 - (view) Author: (jack) Date: 2015-08-15 18:31
Thanks a lot for the tip. This revealed that Python 3.4.3 was looking 
for tcl from Python 2.2 on my machine. That version had been on my 
machine more than 10 years ago, but was no longer there. It had left 
behind a whole bunch of registry crumbs, which I removed. I then 
uninstalled all the versions on my machine and reinstalled 3.4.3. That 
did the trick. The question is, why would installing 3.4.3 or other 
versions be contaminated by stuff from another version, especially an 
ancient one?

Jack

On 8/14/2015 8:49 PM, Terry J. Reedy wrote:
> Terry J. Reedy added the comment:
>
> For 3.4.3, run 'python -m idlelib' in the command window and you should see some error message.  But first run 'python' and at the>>>  prompt, 'import tkinter' to see if tkinter is working properly.
>
> ----------
> nosy: +terry.reedy
>
> _______________________________________
> Python tracker<report@bugs.python.org>
> <http://bugs.python.org/issue24868>
> _______________________________________
>
msg248645 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2015-08-15 19:16
> ... why would installing 3.4.3 or other versions be contaminated by stuff from another version, especially an ancient one?

I don't know.  Steve has revamped the installer for 3.5.

Steve: This issue is solved and I am closing it, but I hope you either have or are able to make the installer more robust against this sort of situation.  It seems to be fairly common.  Could a 'purge all traces of tcl and python' option be added?
msg248647 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2015-08-15 19:55
Actually, that's a pretty good idea (I'd certainly use it), though it would come with a big fat warning sign. I'll add an issue for it.

Whether it would fix this particular issue is unclear. I suspect this one is due to environment variables (TCL_LIBRARY overrides tkinter's regular search) which could not be aggressively cleaned up on uninstall. I have no idea whether older installers used to set that environment variable, but recent 2.7 and 3.5 don't.
msg248648 - (view) Author: (jack) Date: 2015-08-15 20:00
If you zap all existing traces of Python and tcl it would affect users 
who need to run multiple versions. I would suggest completely 
encapsulating each version and all its dependencies, in order to avoid 
mutual interference.

On 8/15/2015 2:55 PM, Steve Dower wrote:
> Steve Dower added the comment:
>
> Actually, that's a pretty good idea (I'd certainly use it), though it would come with a big fat warning sign. I'll add an issue for it.
>
> Whether it would fix this particular issue is unclear. I suspect this one is due to environment variables (TCL_LIBRARY overrides tkinter's regular search) which could not be aggressively cleaned up on uninstall. I have no idea whether older installers used to set that environment variable, but recent 2.7 and 3.5 don't.
>
> ----------
>
> _______________________________________
> Python tracker<report@bugs.python.org>
> <http://bugs.python.org/issue24868>
> _______________________________________
>
msg248653 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2015-08-15 20:22
I can't vouch for Python 2.2, but Python 3.5 and later should not have any interference with other Python versions unless you choose to add it to PATH. We have kept all installed files and registry keys in their own versioned paths for a long time now.
History
Date User Action Args
2015-08-15 20:22:06steve.dowersetmessages: + msg248653
2015-08-15 20:00:39jacksetmessages: + msg248648
2015-08-15 19:55:20steve.dowersetmessages: + msg248647
2015-08-15 19:16:40terry.reedysetstatus: open -> closed

type: crash -> behavior

nosy: + steve.dower
messages: + msg248645
resolution: not a bug
stage: resolved
2015-08-15 18:31:50jacksetmessages: + msg248643
2015-08-15 01:49:54terry.reedysetnosy: + terry.reedy
messages: + msg248630
2015-08-14 15:54:20jackcreate