Python: set default config_vars (#28290)

* Python: set default config_vars

* Add missing commas

* dso_suffix not present for some reason

* Remove use of default_site_packages_dir

* Use config_vars during bootstrapping too

* Catch more errors

* Fix unit tests

* Catch more errors

* Update docstring
This commit is contained in:
Adam J. Stewart
2022-01-10 12:00:06 -06:00
committed by GitHub
parent 5958306466
commit cc32b08205
2 changed files with 68 additions and 43 deletions

View File

@@ -77,17 +77,13 @@ def _try_import_from_store(module, query_spec, query_info=None):
installed_specs = spack.store.db.query(query_spec, installed=True)
for candidate_spec in installed_specs:
python_spec = candidate_spec['python']
lib_spd = python_spec.package.default_site_packages_dir
lib64_spd = lib_spd.replace('lib/', 'lib64/')
lib_debian_derivative = os.path.join(
'lib', 'python{0}'.format(python_spec.version.up_to(1)), 'dist-packages'
)
pkg = candidate_spec['python'].package
purelib = pkg.config_vars['python_lib']['false']['false']
platlib = pkg.config_vars['python_lib']['true']['false']
module_paths = [
os.path.join(candidate_spec.prefix, lib_debian_derivative),
os.path.join(candidate_spec.prefix, lib_spd),
os.path.join(candidate_spec.prefix, lib64_spd)
os.path.join(candidate_spec.prefix, purelib),
os.path.join(candidate_spec.prefix, platlib),
]
sys.path.extend(module_paths)