diff --git a/dedal/spack_factory/SpackOperation.py b/dedal/spack_factory/SpackOperation.py
index ca7175721040e77429f232852b5bcb469f70251f..8eaf3ef54a584147a81377ac5d0f20f9aedf97e0 100644
--- a/dedal/spack_factory/SpackOperation.py
+++ b/dedal/spack_factory/SpackOperation.py
@@ -389,20 +389,21 @@ class SpackOperation:
else:
self.logger.debug("Spack already cloned.")
- # ensure the file exists before opening it
- if not os.path.exists(bashrc_path):
- open(bashrc_path, "w").close()
- # add spack setup commands to .bashrc
- with open(bashrc_path, "a") as bashrc:
- bashrc.write(f'export PATH="{self.spack_dir}/bin:$PATH"\n')
- spack_setup_script = f"source {self.spack_dir / 'share' / 'spack' / 'setup-env.sh'}"
- bashrc.write(f"{spack_setup_script}\n")
- self.logger.info("Added Spack PATH to .bashrc")
+ if bashrc_path:
+ # ensure the file exists before opening it
+ if not os.path.exists(bashrc_path):
+ open(bashrc_path, "w").close()
+ # add spack setup commands to .bashrc
+ with open(bashrc_path, "a") as bashrc:
+ bashrc.write(f'export PATH="{self.spack_dir}/bin:$PATH"\n')
+ spack_setup_script = f"source {self.spack_dir / 'share' / 'spack' / 'setup-env.sh'}"
+ bashrc.write(f"{spack_setup_script}\n")
+ self.logger.info("Added Spack PATH to .bashrc")
if user:
run_command("chown", "-R", f"{user}:{user}", self.spack_dir, check=True, logger=self.logger,
info_msg='Adding permissions to the logged in user')
self.logger.info("Spack install completed")
- if self.spack_config.use_spack_global is True:
+ if self.spack_config.use_spack_global is True and bashrc_path is not None:
# Restart the bash only of the spack is used globally
self.logger.info('Restarting bash')
run_command("bash", "-c", f"source {bashrc_path}", check=True, logger=self.logger, info_msg='Restart bash')