diff --git a/python/README b/python/README index 2b51b5f710..a97b79834b 100644 --- a/python/README +++ b/python/README @@ -3,41 +3,25 @@ and allows the LAMMPS library interface to be invoked from Python, either from a script or interactively. Details on the Python interface to LAMMPS and how to build LAMMPS as a -shared library for use with Python are given in -doc/Section_python.html. +shared library, for use with Python, are given in +doc/Section_python.html and in doc/Section_start.html#start_5. -Basically you need to follow these 3 steps: +Basically you need to follow these steps in the src directory: -a) Add paths to environment variables in your shell script +% make makeshlib # creates Makefile.shlib +% make -f Makefile.shlib g++ # or whatever machine target you wish +% make install-python # may need to do this via sudo -For example, for csh or tcsh, add something like this to ~/.cshrc: - -setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/lammps/python -setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/home/sjplimp/lammps/src -setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/home/sjplimp/lammps/src/STUBS - -The latter is only necessary if you will use the MPI stubs library -instead of an MPI installed on your machine. - -b) Build LAMMPS as a dynamic library, including dynamic versions of -any libraries it includes for the packages you have installed, -e.g. STUBS, MPI, FFTW, JPEG, package libs. - -From the src directory: - -% make makeshlib -% make -f Makefile.shlib g++ - -If successful, this results in the file src/liblmp_g++.so - -c) Launch Python and import the LAMMPS wrapper +You can then launch Python and instantiate an instance of +LAMMPS: % python >>> from lammps import lammps >>> lmp = lammps() If that gives no errors, you have succesfully wrapped LAMMPS with -Python. +Python. See doc/Section_python.html#py_5 for tests you can then use +to run LAMMPS both in serial or parallel thru Python. ------------------------------------------------------------------- diff --git a/python/install.py b/python/install.py new file mode 100644 index 0000000000..4802f2b11a --- /dev/null +++ b/python/install.py @@ -0,0 +1,25 @@ +#!/usr/local/bin/python + +# copy lammps.py and LAMMPS shared library src/liblmp.so to +# Python site-packages dir + +import sys,commands + +# find this Python's site-packages dir in sys.path list + +paths = sys.path +for i,path in enumerate(paths): + index = path.rfind("site-packages") + if index < 0: continue + if index == len(path) - len("site-packages"): break +sitedir = paths[i] + +str = "cp ../python/lammps.py %s" % sitedir +print str +outstr = commands.getoutput(str) +if len(outstr.strip()): print outstr + +str = "cp ../src/liblmp.so %s" % sitedir +print str +outstr = commands.getoutput(str) +if len(outstr.strip()): print outstr