]> SALOME platform Git repositories - modules/kernel.git/commitdiff
Salome HOME
fix
authorCédric Aguerre <cedric.aguerre@edf.fr>
Mon, 16 Feb 2015 17:41:48 +0000 (18:41 +0100)
committerCédric Aguerre <cedric.aguerre@edf.fr>
Wed, 4 Mar 2015 12:42:23 +0000 (13:42 +0100)
bin/salomeContext.py

index 99638321c0f89fa3f9149f811de6cadda15c2600..fb26cdad5d8cc938af7056b476465fb8a1df9bbd 100644 (file)
@@ -115,6 +115,21 @@ class SalomeContext:
   def runSalome(self, args):
     # Run this module as a script, in order to use appropriate Python interpreter
     # according to current path (initialized from environment files).
+    mpi_module_option = "--with_mpi_module="
+    mpi_module = [x for x in args if x.startswith(mpi_module_option)]
+    if mpi_module:
+      mpi_module = mpi_module[0][len(mpi_module_option):]
+      print "Trying to load MPI module: %s..."%mpi_module,
+      try:
+        out, err = subprocess.call(["modulecmd", "python", "load", mpi_module]).communicate()
+        exec out # define specific environment variables
+        print " OK"
+      except:
+        print " ** Failed **"
+        pass
+      args = [x for x in args if not x.startswith(mpi_module_option)]
+      pass
+
     import os
     absoluteAppliPath = os.getenv('ABSOLUTE_APPLI_PATH','')
     env_copy = os.environ.copy()
@@ -234,21 +249,6 @@ class SalomeContext:
       # try to default to "start" command
       command = "_runAppli"
 
-    mpi_module_option = "--with_mpi_module="
-    mpi_module = [x for x in args if x.startswith(mpi_module_option)]
-    if mpi_module:
-      mpi_module = mpi_module[0][len(mpi_module_option):]
-      print "Trying to load MPI module: %s..."%mpi_module,
-      import subprocess
-      try:
-        subprocess.call(["module", "load", mpi_module])
-        print " OK"
-      except:
-        print " ** Failed **"
-        pass
-      options = [x for x in options if not x.startswith(mpi_module_option)]
-      pass
-
     try:
       res = getattr(self, command)(options) # run appropriate method
       return res or (None, None)