[Python-bugs-list] [ python-Bugs-824756 ] IDLE fails to start on
Win2000
SourceForge.net
noreply at sourceforge.net
Fri Oct 17 23:36:48 EDT 2003
Bugs item #824756, was opened at 2003-10-16 07:51
Message generated for change (Comment added) made by tim_one
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=824756&group_id=5470
Category: IDLE
>Group: 3rd Party
Status: Closed
Resolution: Works For Me
Priority: 5
Submitted By: Keith Briggs (kbriggs)
Assigned to: Nobody/Anonymous (nobody)
Summary: IDLE fails to start on Win2000
Initial Comment:
The new python-2.3.2-1.exe has not fixed the IDLE problem.
I have two Windows 2000 machines (not running
firewalls) on which IDLE
does not start. Python itself works perfectly.
----------------------------------------------------------------------
>Comment By: Tim Peters (tim_one)
Date: 2003-10-17 23:36
Message:
Logged In: YES
user_id=31435
Ruby works fine on a box with Python installed, because
Python doesn't interfere with Ruby. It's Python that suffers,
because Ruby interferes with Python -- but it only interferes
to the extent that a Python program wants to use Tcl/Tk.
You'll get the same kinds of problems on Linux (or any other
OS) if some package installs an incompatible version of an
external package to a shared area -- or, analogous to what
Ruby does here, forces an envar setting that screws some
other program you're running.
Note that the Python installer leaves your Windows envars
entirely alone. That's simply sane practice. I don't know why
Ruby's installer messes with them.
Changed Group to 3rdParty, and leaving Closed.
----------------------------------------------------------------------
Comment By: Thomas Heller (theller)
Date: 2003-10-17 11:16
Message:
Logged In: YES
user_id=11105
Ok, I'll close this with 'works for me'.
> (But does this mean python and ruby cannot coexist on a
Windows machine?)
Maybe you should bug the ruby developers?
----------------------------------------------------------------------
Comment By: Keith Briggs (kbriggs)
Date: 2003-10-17 05:21
Message:
Logged In: YES
user_id=888261
Yes, removing TCL_LIBRARY set by ruby fixes the problem.
Thanks for everybody's help. I am not a Windows person,
otherwise I could have fixed this myself. We are told to
trust auto-installers. Now I know not to. Back to linux for
real work now...
(But does this mean python and ruby cannot coexist on a
Windows machine?)
----------------------------------------------------------------------
Comment By: Tim Peters (tim_one)
Date: 2003-10-16 16:42
Message:
Logged In: YES
user_id=31435
I prefer to keep the report open until the OP reports success
or failure (or a week has gone by without hearing more).
pythonw's woes wrt not reporting errors has been discussed
several times before, but nobody has volunteered the work
to "do something" about it. Good topic for python-dev -- it
gets too much Linux-specific crud anyway <wink>.
----------------------------------------------------------------------
Comment By: Thomas Heller (theller)
Date: 2003-10-16 15:32
Message:
Logged In: YES
user_id=11105
I didn't mean that the Python installer sets these envvars
systemwide, I meant that Python should know where a usable
Tcl/Tk is installed. How this is communicated to Tkinter I
don't know.
But, worse, I find it a shame that IDLE cannot start because
of this (or another problem) without pythonw trying to give
the poor user *any* hint about what's wrong.
Why isn't it the default for pythonw to redirect stderr into
a MessageBox?
I suggest to close *this* bug with either "won't fix".
----------------------------------------------------------------------
Comment By: Tim Peters (tim_one)
Date: 2003-10-16 15:17
Message:
Logged In: YES
user_id=31435
If Python set Tcl/Tk envars, it would be as anti-social as
Ruby. If Ruby managed Tcl/Tk the way Python managed it,
everyone would co-exist peacefully.
pythonw has nowhere to display a traceback -- it doesn't
have a console (and not having a console is the point of
pythonw -- that one's not shallow <wink>).
"It would be nice" if it pythonw opened a message window to
display tracebacks. As is, programs that try to write to
stdout or stderr under pythonw can even crash (Windows
doesn't complain if you try to write to stdout or stderr then,
but they're hooked up to something that crashes on some
systems if you write "too much").
----------------------------------------------------------------------
Comment By: Thomas Heller (theller)
Date: 2003-10-16 14:50
Message:
Logged In: YES
user_id=11105
Hm, python.exe and pythonw.exe *could* set it's own envvars.
Maybe. Or not.
But anyway, shouldn't pythonw.exe be able to display tracebacks?
----------------------------------------------------------------------
Comment By: Tim Peters (tim_one)
Date: 2003-10-16 13:46
Message:
Logged In: YES
user_id=31435
You installed Ruby. The Ruby installer is anti-social in the
way it sets up Tcl/Tk. Look in your environment for envars
starting with TCL and TK. The Ruby installer sets those,
which forces every program trying to use Tcl or Tk to use
Ruby's version of Tcl and Tk. There's nothing Python can do
about that. Get rid of the envars and Python will run fine.
----------------------------------------------------------------------
Comment By: Keith Briggs (kbriggs)
Date: 2003-10-16 13:11
Message:
Logged In: YES
user_id=888261
There are no spaces in the path.
d:\Python23\python.exe "d:\Python23\Lib\idlelib\idle.pyw"
gives...
Traceback (most recent call last):
File "d:\Python23\Lib\idlelib\idle.pyw", line 4, in ?
main()
File "D:\Python23\lib\idlelib\PyShell.py", line 1269, in main
root = Tk(className="Idle")
File "D:\Python23\lib\lib-tk\Tkinter.py", line 1564, in __init__
self.tk = _tkinter.create(screenName, baseName,
className)
_tkinter.TclError: Can't find a usable init.tcl in the following
directories:
{d:\ruby\tcl\lib\tcl8.3} {d:\ruby\tcl\lib\tcl8.3}
d:/ruby/tcl/lib/tcl8.4 D:/Python23/lib/tcl8.4 D:/lib/tcl8.4
D:/library
d:/ruby/tcl/lib/tcl8.3/init.tcl: version conflict for
package "Tcl": have 8.4, need 8.3
version conflict for package "Tcl": have 8.4, need 8.3
while executing
"package require -exact Tcl 8.3"
(file "d:/ruby/tcl/lib/tcl8.3/init.tcl" line 19)
invoked from within
"source d:/ruby/tcl/lib/tcl8.3/init.tcl"
("uplevel" body line 1)
invoked from within
"uplevel #0 [list source $tclfile]"
d:/ruby/tcl/lib/tcl8.3/init.tcl: version conflict for
package "Tcl": have 8.4, need 8.3
version conflict for package "Tcl": have 8.4, need 8.3
while executing
"package require -exact Tcl 8.3"
(file "d:/ruby/tcl/lib/tcl8.3/init.tcl" line 19)
invoked from within
"source d:/ruby/tcl/lib/tcl8.3/init.tcl"
("uplevel" body line 1)
invoked from within
"uplevel #0 [list source $tclfile]"
This probably means that Tcl wasn't installed properly.
----------------------------------------------------------------------
Comment By: Thomas Heller (theller)
Date: 2003-10-16 12:55
Message:
Logged In: YES
user_id=11105
Can you provide some more details, please?
Did you install Python in a directory containing spaces or not?
Do you get a traceback if you try to start IDLE from the
command line with python.exe instead of python2.exe: open a
DOS box aka command prompt, and enter something like
C:\Python23\python.exe "C:\Python23\Lib\idlelib\idle.pyw"
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=824756&group_id=5470
More information about the Python-bugs-list
mailing list