[Chimera-users] Importing Midas within non-Chimera python installation

Drew Bryant drew.h.bryant at gmail.com
Thu Mar 5 14:45:37 PST 2009


As Greg suggested, after setting the CHIMERA environment variable,
"import chimeraInit" followed by "chimeraInit.init([])" works after I
added CHIMERA/lib to LD_LIBRARY_PATH.  Without setting the
LD_LIBRARY_PATH, chimera.__init__.py wasn't able to find the shared
object files.  Now "import Midas" works in my non-chimera python
installation (great!).

So in conclusion, the following environment variables need to be
configured (on my ubuntu system at least) where CHIMERA is the path to
the chimera install:
LD_LIBRARY_PATH=CHIMERA/lib
PYTHONPATH=CHIMERA/share:CHIMERA/lib

Thanks to Greg and Eric  for getting back to me so quickly.

Drew

On Thu, Mar 5, 2009 at 3:10 PM, Greg Couch <gregc at cgl.ucsf.edu> wrote:
> On Thu, 5 Mar 2009, Drew Bryant wrote:
>
>> Hello,
>>
>> As part of a larger python-based project I'm working on, I need to do
>> automated image generation with Chimera.  How can the Midas module (no
>> need for any gui components) be imported into a non-chimera
>> installation of python?  I think this is a little more complicated
>> than just setting the PYTHONPATH to point at the chimera files,
>> because of the compiled shared objects.  For example, my attempt at
>> importing Midas (after adding CHIMERA/share   to the PYTHON PATH)
>> raises:
>>
>> /home/dbryant/CHIMERA/share/Midas/__init__.py in <module>()
>>
>> /home/dbryant/CHIMERA/share/chimera/__init__.py in <module>()
>>
>> <type 'exceptions.ImportError'>: libgfxinfo.so: cannot open shared
>> object file: No such file or directory
>>
>> Currently I'm using a non-gui daily build of Chimera for 64-bit Linux
>> and calling the chimera binary via the shell (which works), but I need
>> to be able to pass parameters to the script being run at the command
>> line.
>>
>> Thanks,
>> Drew Bryant
>
> To import chimera modules into a non-chimera installation of python, you
> need to set the CHIMERA environment variable and then import the chimeraInit
> module and call chimeraInit.init([]).  In your case, you shouldn't need any
> keyword arguments to the init function, but if you were using the GUI
> version, then eventloop=False would very useful.
>
>        Good luck!
>
>        Greg Couch
>        UCSF Computer Graphics Lab
>



More information about the Chimera-users mailing list