
On Wed, Aug 6, 2008 at 20:19, Greg Couch <gregc@cgl.ucsf.edu> wrote:
Yup, we compiled Python with the default options which uses UCS-2 instead of UCS-4. Since both Ubuntu and RedHat/Fedora use UCS-4, I'll change our Python to be the same. Tomorrow's daily build will use the UCS-4 API.
thanks, it works now. at least that part, anyway.
FYI, while chimera can work with a stock python, it is not completely compatible. We use a newer version of Tk than the stock python, so we had to modify the Tkinter module. We also made several other patches to the Python library, e.g., the help() function so it would work better with compiled modules. What this means is that if you are going to use the stock python with chimera, you have to have extra setup code to use the chimera GUI.
i was primarily interested in using a non-gui version. having also the ability to use the gui would be nice, but not important for me at the moment.
If you have Python code that you want to use with chimera, it's simplier to set the CHIMERAPATH environment to include the stock python's site-packages directory and your PYTHONPATH directories, or alter sys.path in your Python code. "chimera --nogui script.py" is a powerful way to run arbitrary Python code with the chimera modules.
i use the ipython shell for my normal python work and i found it complicated to get i to work in this way.
And yes, please share how you are using chimera with the stock python. It should be as "simple" as (1) setting the CHIMERA environment variable, (2) adding CHIMERA/lib to LD_LIBRARY_PATH, (3) optionally setting up Tcl and Tk to be chimera's version, (4) adding CHIMERA/share to sys.path, (3) importing chimeraInit, and (5) calling chimeraInit.init with either nogui=True or eventloop=False.
i have the following chimera.env file that i source in bash: export CHIMERA=/opt/chimera export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CHIMERA/lib export PYTHONPATH=$PYTHONPATH:$CHIMERA/share:$CHIMERA/lib:$CHIMERA/lib/python2.5/site-packages the nogui version works, but that is not exactly what i wanted, as that provides a midas prompt (if i understand it correctly). i would rather like to stay in my original python shell (ipython in this case). is there a way to do that? the gui version fails, which is expected, as i did not take care of any tcl/tk changes. in case this is useful, the traceback is at the bottom. however, as i said, this is not my aim at the moment. i would be quite happy with getting my stock python into the same state as the built-in idle shell but without the gui. i hope it makes at least some sense. regards, ondrej marsalek In [2]: chimeraInit.init( [], eventloop=False ) Traceback (most recent call last): File "/usr/bin/ipython", line 27, in <module> IPython.Shell.start().mainloop() File "/var/lib/python-support/python2.5/IPython/Shell.py", line 77, in mainloop self.IP.mainloop(banner) File "/var/lib/python-support/python2.5/IPython/iplib.py", line 1537, in mainloop self.interact(banner) File "/var/lib/python-support/python2.5/IPython/iplib.py", line 1684, in interact more = self.push(line) File "/var/lib/python-support/python2.5/IPython/iplib.py", line 1986, in push more = self.runsource('\n'.join(self.buffer), self.filename) File "/var/lib/python-support/python2.5/IPython/iplib.py", line 1904, in runsource if self.runcode(code) == 0: File "/var/lib/python-support/python2.5/IPython/iplib.py", line 1941, in runcode exec code_obj in self.user_ns File "<ipython console>", line 1, in <module> File "CHIMERA/share/chimeraInit.py", line 338, in init tkgui.initializeGUI(exitonquit) File "CHIMERA/share/chimera/tkgui.py", line 2562, in initializeGUI File "CHIMERA/share/chimera/tkgui.py", line 2472, in createApp TclError: package "Tix" isn't loaded statically Error starting chimera: TclError: package "Tix" isn't loaded statically (see reply log for Python traceback info)