A message from Jean Ballet:
From jean.ballet@cea.fr Tue Jun 17 01:09:12 2008 Subject: python code in binary release Science Tools Date: Tue, 17 Jun 2008 10:07:16 +0200 To: <jchiang@slac.stanford.edu> Cc: <tburnett@u.washington.edu>, <ngolpa@gmail.com> Dear Jim, After Ludovic reported that he had trouble using the new pointfit python module I remembered that I had failed to use ModelEditor at some point. So I tried again, using the binary release of ST v9r5p4. ModelEditor Traceback (most recent call last): File "<string>", line 1, in ? File "/dsm/saplxglast/glast/sas/binary/ScienceTools-v9r5p4/pythonModules/Mode lEditor.py", line 15, in ? import Tkinter as Tk ImportError: No module named Tkinter I tried to understand why this occurred. I looked into ${INST_DIR}/bin/config/setup.sh and noticed that PYTHONPATH="${INST_DIR}/pythonModules:${INST_DIR}/python/lib/python2.4:$ {PYLIKELIHOODROOT}/python:${INST_DIR}/lib:${ROOTSYS}/lib:${PYTHONPATH}"; export PYTHONPATH although there was no such directory as ${INST_DIR}/python/lib/python2.4. python2.5 was present there instead. I tried changing python2.4 to python2.5 ModelEditor 'import site' failed; use -v for traceback Traceback (most recent call last): File "<string>", line 1, in ? File "/dsm/saplxglast/glast/sas/binary/ScienceTools-v9r5p4/pythonModules/Mode lEditor.py", line 11, in ? import os File "/dsm/saplxglast/glast/sas/binary/ScienceTools-v9r5p4/python/lib/python2 .5/os.py", line 134 from os.path import (curdir, pardir, sep, pathsep, defpath, extsep, altsep, ^ SyntaxError: invalid syntax It looks like os.py under python2.5 is not compatible with the python version that is called by ModelEditor. If I try calling ModelEditor.py directly I get gtpython /dsm/saplxglast/glast/sas/binary/ScienceTools-v9r5p4/pythonModules/Model Editor.py Traceback (most recent call last): File "/dsm/saplxglast/glast/sas/binary/ScienceTools-v9r5p4/pythonModules/Mode lEditor.py", line 538, in <module> ModelEditor() File "/dsm/saplxglast/glast/sas/binary/ScienceTools-v9r5p4/pythonModules/Mode lEditor.py", line 531, in ModelEditor root = RootWindow(_spectralFuncs, _spatialFuncs) File "/dsm/saplxglast/glast/sas/binary/ScienceTools-v9r5p4/pythonModules/Mode lEditor.py", line 31, in __init__ Tk.Tk.__init__(self) File "/dsm/saplxglast/glast/sas/binary/ScienceTools-v9r5p4/python/lib/python2 .5/lib-tk/Tkinter.py", line 1636, in __init__ self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use) _tkinter.TclError: Can't find a usable init.tcl in the following directories: /software/lheasoft/irby/sas/heasoft61/headas/headas-6.1/tcltk/i686-pc-li nux-gnu-libc2.2.4/lib/tcl8.4 /dsm/saplxglast/glast/sas/binary/ScienceTools-v9r5p4/python/lib/tcl8.4 /dsm/saplxglast/glast/sas/binary/ScienceTools-v9r5p4/lib/tcl8.4 /dsm/saplxglast/glast/sas/binary/ScienceTools-v9r5p4/python/library /dsm/saplxglast/glast/sas/binary/ScienceTools-v9r5p4/library /dsm/saplxglast/glast/sas/binary/ScienceTools-v9r5p4/tcl8.4.13/library /dsm/saplxglast/glast/sas/binary/tcl8.4.13/library /software/lheasoft/irby/sas/heasoft61/headas/headas-6.1/tcltk/i686-pc-li nux-gnu-libc2.2.4/lib/tcl8.4 This probably means that Tcl wasn't installed properly. Here it went further. I looked around but could find no trace of a TCL library under the binary ST distribution. The references to lheasoft (FTOOLS) look hardcoded from the place where the Science Tools were compiled. My impression is that the python implementation in the binary release of the Science Tools is quite shaky. It works for pyLikelihood, but not for much else. The outcome of the 2nd trial (after changing python2.4 to 2.5) suggests that ModelEditor does NOT call the python version in the Science Tools (under $INST_DIR/python/bin) but the native python on my system (which happens to be 2.3.4). This is very possible if it does not use gtpython, because $INST_DIR/python/bin is not in PATH (it has no reason to be). If I add $INST_DIR/python/bin to my PATH, then ModelEditor returns the same error message as the call to ModelEditor.py via gtpython. All the best, Jean