diff options
author | Guido van Rossum <guido@python.org> | 2000-03-31 03:11:40 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2000-03-31 03:11:40 (GMT) |
commit | 42405a5d7d4dd6061c85ca11ca7474fb16e92190 (patch) | |
tree | d93a2020c7f60c634c96476f3403f2753ea8260d /Lib/lib-tk/FixTk.py | |
parent | 1b64a7e4a54b41ab2ebfb942bb5bc2c04deb16f9 (diff) | |
download | cpython-42405a5d7d4dd6061c85ca11ca7474fb16e92190.zip cpython-42405a5d7d4dd6061c85ca11ca7474fb16e92190.tar.gz cpython-42405a5d7d4dd6061c85ca11ca7474fb16e92190.tar.bz2 |
A version of FixTk.py that works with the way the installer now
installs Tcl/Tk.
Diffstat (limited to 'Lib/lib-tk/FixTk.py')
-rw-r--r-- | Lib/lib-tk/FixTk.py | 68 |
1 files changed, 4 insertions, 64 deletions
diff --git a/Lib/lib-tk/FixTk.py b/Lib/lib-tk/FixTk.py index 6c7de03..b622006 100644 --- a/Lib/lib-tk/FixTk.py +++ b/Lib/lib-tk/FixTk.py @@ -1,64 +1,4 @@ -"""Utility which tries to locate the Tcl/Tk 8.0 DLLs on Windows. - -This is a no-op on other platforms. -""" - -# Error messages we may spit out - -NO_TCL_MESSAGE = """\ -WHOOPS! I can't find a Tcl/Tk 8.0 installation anywhere. -Please make sure that Tcl.Tk 8.0 is installed and that the PATH -environment variable is set to include the Tcl/bin directory -(or wherever TK80.DLL and TCL80.DLL are installed). -If you don't know how to fix this, consider searching the Python FAQ -for the error you get; post to the comp.lang.python if all else fails. -Read the source file FixTk.py for details. -""" - -NO_TKINTER_MESSAGE = """\ -WHOOPS! Even though I think I have found a Tcl/Tk 8.0 installation, -I can't seem to import the _tkinter extension module. -I get the following exception: - ImportError: %s -If you don't know how to fix this, consider searching the Python FAQ -for the error you get; post to the comp.lang.python if all else fails. -Read the source file FixTk.py for details. -""" - -import sys -if sys.platform == "win32": - try: - import _tkinter - except ImportError: - import os - try: - path = os.environ['PATH'] - except KeyError: - path = "" - python_exe = sys.executable - python_dir = os.path.dirname(python_exe) - program_files = os.path.dirname(python_dir) - def tclcheck(dir): - for dll in "tcl80.dll", "tk80.dll", "tclpip80.dll": - if not os.path.isfile(os.path.join(dir, dll)): - return 0 - return 1 - for tcldir in [program_files, "\\Program files", "\\", - "C:\\Program Files", "D:\\Program Files"]: - tcldir = os.path.join(tcldir, "Tcl", "bin") - if tclcheck(tcldir): - break - else: - tcldir = None - if not tcldir: - sys.stderr.write(NO_TCL_MESSAGE) - else: - if path and path[-1] != os.pathsep: - path = path + os.pathsep - path = path + tcldir - os.environ["PATH"] = path - os.putenv("PATH", path) - try: - import _tkinter - except ImportError, message: - sys.stderr.write(NO_TKINTER_MESSAGE % str(message)) +import sys, os +v = os.path.join(sys.prefix, "tcl", "tcl8.3") +if os.path.exists(os.path.join(v, "init.tcl")): + os.environ["TCL_LIBRARY"] = v |