diff options
author | Adam J. Stewart <ajstewart426@gmail.com> | 2020-12-16 17:15:03 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-16 15:15:03 -0800 |
commit | 826cd07cf7bef7d610103516943b0ef73ab459ad (patch) | |
tree | bdde5bcf9c1ee4051c54c05f07dadb9088906fdf /var/spack/repos/builtin/packages/python/package.py | |
parent | cd496a20e97ab339c2f75093e098b3e2fde521a2 (diff) | |
download | spack-826cd07cf7bef7d610103516943b0ef73ab459ad.tar.gz spack-826cd07cf7bef7d610103516943b0ef73ab459ad.tar.bz2 spack-826cd07cf7bef7d610103516943b0ef73ab459ad.tar.xz spack-826cd07cf7bef7d610103516943b0ef73ab459ad.zip |
PythonPackage: add import module smoke tests (#20023)
Diffstat (limited to 'var/spack/repos/builtin/packages/python/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/python/package.py | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/var/spack/repos/builtin/packages/python/package.py b/var/spack/repos/builtin/packages/python/package.py index 4d0df211e6..9737fc0830 100644 --- a/var/spack/repos/builtin/packages/python/package.py +++ b/var/spack/repos/builtin/packages/python/package.py @@ -945,13 +945,20 @@ class Python(AutotoolsPackage): env.set('PYTHONPATH', pythonpath) def setup_dependent_run_environment(self, env, dependent_spec): - # For run time environment set only the path for - # dependent_spec and prepend it to PYTHONPATH - if dependent_spec.package.extends(self.spec): - for lib in ['lib', 'lib64']: - env.prepend_path('PYTHONPATH', join_path( - dependent_spec.prefix, lib, - 'python' + str(self.version.up_to(2)), 'site-packages')) + python_paths = [] + for d in dependent_spec.traverse(deptype='run'): + if d.package.extends(self.spec): + # Python libraries may be installed in lib or lib64 + # See issues #18520 and #17126 + for lib in ['lib', 'lib64']: + root = join_path( + d.prefix, lib, 'python' + str(self.version.up_to(2)), + 'site-packages') + if os.path.exists(root): + python_paths.append(root) + + pythonpath = ':'.join(python_paths) + env.prepend_path('PYTHONPATH', pythonpath) def setup_dependent_package(self, module, dependent_spec): """Called before python modules' install() methods. |