home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 June / PCWorld_2005-06_cd.bin / software / vyzkuste / firewally / firewally.exe / framework-2.3.exe / FixTk.py < prev    next >
Text File  |  2003-12-30  |  1KB  |  38 lines

  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
  38.