summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/python/package.py
diff options
context:
space:
mode:
authorAdam J. Stewart <ajstewart426@gmail.com>2020-12-16 17:15:03 -0600
committerGitHub <noreply@github.com>2020-12-16 15:15:03 -0800
commit826cd07cf7bef7d610103516943b0ef73ab459ad (patch)
treebdde5bcf9c1ee4051c54c05f07dadb9088906fdf /var/spack/repos/builtin/packages/python/package.py
parentcd496a20e97ab339c2f75093e098b3e2fde521a2 (diff)
downloadspack-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.py21
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.