diff --git a/lmod/ipython/startup/000-odurc-lmod.py.orig b/lmod/ipython/startup/000-odurc-lmod.py.orig new file mode 100644 index 0000000..13763a5 --- /dev/null +++ b/lmod/ipython/startup/000-odurc-lmod.py.orig @@ -0,0 +1,6 @@ +try: + from lmod_python import module +except ModuleNotFoundError: + import sys + sys.path.append('/shared/apps/common/lmod/scripts/init') + from lmod_python import module diff --git a/lmod/ipython/startup/lmod_python.py.orig b/lmod/ipython/startup/lmod_python.py.orig new file mode 100644 index 0000000..b4cc2f8 --- /dev/null +++ b/lmod/ipython/startup/lmod_python.py.orig @@ -0,0 +1,26 @@ +# -*- python -*- +from __future__ import print_function +from subprocess import PIPE, Popen +import os, sys + +sys.path.append('/shared/apps/common/lmod/current/init') + +from env_modules_python import module as lmod_module + +def module(command, *arguments): + lmod_module(command, *arguments) + sys.path = os.environ.get('PYTHONPATH').split(':') + sys.path + manual_ld_library_dir = os.environ.get('LMOD_MANUAL_LD_LIBRARY_PATH') + + for search_path in os.getenv('LD_LIBRARY_PATH').split(':')[::-1]: + if not os.path.isdir(search_path): + continue + + for f in os.listdir(search_path): + if '.so' in f: + src = f'{search_path}/{f}' + tgt = f'{manual_ld_library_dir}/{f}' + if os.path.islink(tgt): + os.unlink(tgt) + + os.symlink(src, tgt)