[issue27263] IDLE sets the HOME environment variable breaking scripts
Eryk Sun
report at bugs.python.org
Wed Jun 8 01:53:26 EDT 2016
Eryk Sun added the comment:
This affects all Tkinter applications on Windows. For example, in Python 2.7:
import Tkinter
import ctypes
libc = ctypes.CDLL('msvcr90')
libc.getenv.restype = ctypes.c_char_p
>>> libc.getenv(b"HOME")
>>> root = Tkinter.Tk()
>>> libc.getenv(b"HOME")
'C:\\Users\\me'
TCL sets this environment variable in TclpSetVariables [1] and has since 1995 [2]. I don't think IDLE or any other Tkinter application should necessarily favor %USERPROFILE% over %HOMEDRIVE%%HOMEPATH%, and the default shouldn't be changed at this point. Probably the behavior should be documented for Tkinter and IDLE.
[1]: https://github.com/tcltk/tcl/blob/core_8_6_4/win/tclWinInit.c#L502
[2]: https://github.com/tcltk/tcl/blob/core_8_6_4/changes#L1378
----------
components: +Tkinter, Windows
nosy: +eryksun, paul.moore, steve.dower, tim.golden, zach.ware
versions: +Python 2.7, Python 3.6
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue27263>
_______________________________________
More information about the Python-bugs-list
mailing list