diff options
author | alalazo <massimiliano.culpo@googlemail.com> | 2016-03-23 11:18:11 +0100 |
---|---|---|
committer | alalazo <massimiliano.culpo@googlemail.com> | 2016-03-24 10:57:46 +0100 |
commit | 758a9c9096bd6c306f2dba0e40b46544dcec1992 (patch) | |
tree | 1e84c71f87075afb247295b7871d0ba4e15d761d | |
parent | 7cf1b7ed51bae677f60d61f5f9db40b98df5dc6b (diff) | |
download | spack-758a9c9096bd6c306f2dba0e40b46544dcec1992.tar.gz spack-758a9c9096bd6c306f2dba0e40b46544dcec1992.tar.bz2 spack-758a9c9096bd6c306f2dba0e40b46544dcec1992.tar.xz spack-758a9c9096bd6c306f2dba0e40b46544dcec1992.zip |
python extensions : create PYTHONPATH in module files
-rw-r--r-- | lib/spack/spack/modules.py | 10 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/python/package.py | 5 |
2 files changed, 9 insertions, 6 deletions
diff --git a/lib/spack/spack/modules.py b/lib/spack/spack/modules.py index 6c32937c3c..d45fdde703 100644 --- a/lib/spack/spack/modules.py +++ b/lib/spack/spack/modules.py @@ -161,13 +161,13 @@ class EnvModule(object): # Let the extendee modify their extensions before asking for # package-specific modifications - for extendee in self.pkg.extendees: - extendee_spec = self.spec[extendee] - extendee_spec.package.setup_dependent_package( - self.pkg.module, self.spec) + spack_env = EnvironmentModifications() + for item in self.pkg.extendees: + package = self.spec[item].package + package.setup_dependent_package(self.pkg.module, self.spec) + package.setup_dependent_environment(spack_env, env, self.spec) # Package-specific environment modifications - spack_env = EnvironmentModifications() self.spec.package.setup_environment(spack_env, env) # TODO : implement site-specific modifications and filters diff --git a/var/spack/repos/builtin/packages/python/package.py b/var/spack/repos/builtin/packages/python/package.py index 6d9030805b..f5237c3b57 100644 --- a/var/spack/repos/builtin/packages/python/package.py +++ b/var/spack/repos/builtin/packages/python/package.py @@ -105,7 +105,10 @@ class Python(Package): pythonpath = ':'.join(python_paths) spack_env.set('PYTHONPATH', pythonpath) - run_env.set('PYTHONPATH', pythonpath) + + # For run time environment set only the path for extension_spec and prepend it to PYTHONPATH + if extension_spec.package.extends(self.spec): + run_env.prepend_path('PYTHONPATH', os.path.join(extension_spec.prefix, self.site_packages_dir)) def setup_dependent_package(self, module, ext_spec): |