Launching Python programs from PyMOL
Running a Python script from PyMOL, usually the command:
Is enough. Of course, the file script.py needs to be in the working directory. You can also launch Python scripts when starting PyMOL. Asynchronous means, that a new Python thread is started:
pymol example.py # synchronous, in PyMOL module pymol -r example.py # synchronous in __main__ module pymol -l example.py # asychronous in a new module
You can also launch python programs from within PyMOL with the commands:
run example.py # synchronous in pymol module run example.py,main # synchronous in __main__ module spawn example.py # asychronous in a new module spawn example.py,global # asychronous in the PyMOL module spawn example.py,main # asychronous in the __main__ module
Launching PyMOL from Python programs
Using the PyMOL commandline
Are you aware that the PyMOL command line is also a Python command line? You can just use PyMOL interactively in that fashion.
PyMOL>print(1+1) 2 PyMOL>from random import random PyMOL>print(random()) 0.739460642143
The only major difference is that the default namespace for PyMOL is "pymol" not "__main__"