From: Warren L. D. <wa...@de...> - 2003-10-24 18:03:13
|
Truls, That looks to me like a crash where the PyMOL API was somehow called before PyMOL was initialized...how and why this could happen is a mystery to me though -- that's what pymol.finish_launching() is supposed to prevent -- but there may be some flaw in the logic. Cheers, Warren -- mailto:wa...@de... Warren L. DeLano, Ph.D. Principal Scientist DeLano Scientific LLC Voice (650)-346-1154 Fax (650)-593-4020 > -----Original Message----- > From: Debian Chooser [mailto:ke...@he...] On Behalf Of Truls A. > Tangstad > Sent: Friday, October 17, 2003 3:18 PM > To: Warren L. DeLano > Cc: pym...@li... > Subject: Re: [PyMOL] Using PyMol as a library - no GUI > > On Fri, Oct 17, 2003 at 09:41:24AM -0700, Warren L. DeLano wrote: > > > Truls A. Tangstad wrote: > > > I'm very interested in using alot of the functionality that PyMol > > > offers programmatically from Python, i.e. without using a GUI at > > > all. The chempy package seems to cover alot of my needs, loading > > > different file formats etc. even though it doesn't seem to be > > > documented. > > > > > > Is it also possible to use the rest of the functionality in PyMol from > > > other Python scripts? Right now, just importing the pymol package > > > seems to force the GUI to open. > > > If you've got PyMOL configured to open on > > > > import pymol > > pymol.finish_launching() > > > > You can suppress the GUI feature and suppress startup output by > > providing command line arguments as follows. Before importing PyMOL, > > set a "pymol_argv" list in the __main__ namespace. PyMOL will interpret > > this as a sys.argv styled list of command line arguments. > > > > import __main__ > > __main__.pymol_argv['pymol','-qc'] > > > > import pymol > > pymol.finish_launching() > > Thanks, seems to work like a charm in scripts after adding the > assignment operator: > __main__.pymol_argv = ['pymol', '-qc'] # adding miss > > Somehow it segfaults when trying the same thing in an interactive > python interpreter though, right after importing pymol. This might be > due to a shoddy install on my part, but I'm including a gdb backtrace: > > #0 0x41d7b21a in SettingGetGlobal_f () from /usr/lib/python2.3/site- > packages/pymol/_cmd.so > #1 0x41d7c683 in SettingGet () from /usr/lib/python2.3/site- > packages/pymol/_cmd.so > #2 0x41d6296d in OrthoAddOutput () from /usr/lib/python2.3/site- > packages/pymol/_cmd.so > #3 0x41d679a5 in PCatchInit () from /usr/lib/python2.3/site- > packages/pymol/_cmd.so > #4 0x4006d74d in PyCFunction_Call () from /usr/lib/libpython2.3.so.1.0 > #5 0x40045e37 in PyObject_Call () from /usr/lib/libpython2.3.so.1.0 > #6 0x400a2a4a in PyEval_CallObjectWithKeywords () from > /usr/lib/libpython2.3.so.1.0 > #7 0x40055550 in PyFile_WriteObject () from /usr/lib/libpython2.3.so.1.0 > #8 0x400556e6 in PyFile_WriteString () from /usr/lib/libpython2.3.so.1.0 > #9 0x400d56b6 in PySys_WriteStderr () from /usr/lib/libpython2.3.so.1.0 > #10 0x400d4b2c in PySys_WriteStderr () from /usr/lib/libpython2.3.so.1.0 > #11 0x400d2c74 in Py_AtExit () from /usr/lib/libpython2.3.so.1.0 > #12 0x40101043 in _PyUnicode_TypeRecords () from > /usr/lib/libpython2.3.so.1.0 > > Any idea why it shouldn't work interactively? > > I'm using PyMol 0.90 and Python 2.3.2 on Debian unstable. > > -- > Truls - ker...@he... |