Commit | Line | Data |
---|---|---|
920dae64 AT |
1 | import sys, os |
2 | ||
3 | # Delay import _tkinter until we have set TCL_LIBRARY, | |
4 | # so that Tcl_FindExecutable has a chance to locate its | |
5 | # encoding directory. | |
6 | ||
7 | # Unfortunately, we cannot know the TCL_LIBRARY directory | |
8 | # if we don't know the tcl version, which we cannot find out | |
9 | # without import Tcl. Fortunately, Tcl will itself look in | |
10 | # <TCL_LIBRARY>\..\tcl<TCL_VERSION>, so anything close to | |
11 | # the real Tcl library will do. | |
12 | ||
13 | prefix = os.path.join(sys.prefix,"tcl") | |
14 | # if this does not exist, no further search is needed | |
15 | if os.path.exists(prefix): | |
16 | if not os.environ.has_key("TCL_LIBRARY"): | |
17 | for name in os.listdir(prefix): | |
18 | if name.startswith("tcl"): | |
19 | tcldir = os.path.join(prefix,name) | |
20 | if os.path.isdir(tcldir): | |
21 | os.environ["TCL_LIBRARY"] = tcldir | |
22 | # Compute TK_LIBRARY, knowing that it has the same version | |
23 | # as Tcl | |
24 | import _tkinter | |
25 | ver = str(_tkinter.TCL_VERSION) | |
26 | if not os.environ.has_key("TK_LIBRARY"): | |
27 | v = os.path.join(prefix, 'tk'+ver) | |
28 | if os.path.exists(os.path.join(v, "tclIndex")): | |
29 | os.environ['TK_LIBRARY'] = v | |
30 | # We don't know the Tix version, so we must search the entire | |
31 | # directory | |
32 | if not os.environ.has_key("TIX_LIBRARY"): | |
33 | for name in os.listdir(prefix): | |
34 | if name.startswith("tix"): | |
35 | tixdir = os.path.join(prefix,name) | |
36 | if os.path.isdir(tixdir): | |
37 | os.environ["TIX_LIBRARY"] = tixdir |