Skip to content

Commit

Permalink
Move sitecustomize.py into site-packages
Browse files Browse the repository at this point in the history
  • Loading branch information
Micket committed Nov 22, 2024
1 parent b9b242a commit 8c30f6b
Showing 1 changed file with 12 additions and 5 deletions.
17 changes: 12 additions & 5 deletions easybuild/easyblocks/p/python.py
Original file line number Diff line number Diff line change
Expand Up @@ -142,9 +142,6 @@ def __init__(self, *args, **kwargs):

self.pyshortver = '.'.join(self.version.split('.')[:2])

# Used for EBPYTHONPREFIXES handler script
self.pythonpath = os.path.join(log_path(), 'python')

ext_defaults = {
# Use PYPI_SOURCE as the default for source_urls of extensions.
'source_urls': [PYPI_SOURCE],
Expand Down Expand Up @@ -504,7 +501,8 @@ def install_step(self):
symlink('pip' + self.pyshortver, pip_binary_path, use_abspath_source=False)

if self.cfg.get('ebpythonprefixes'):
write_file(os.path.join(self.installdir, self.pythonpath, 'sitecustomize.py'), SITECUSTOMIZE)
site_packages_path = os.path.join('lib', 'python' + self.pyshortver, 'site-packages')
write_file(os.path.join(self.installdir, site_packages_path, 'sitecustomize.py'), SITECUSTOMIZE)

# symlink lib/python*/lib-dynload to lib64/python*/lib-dynload if it doesn't exist;
# see https://github.com/easybuilders/easybuild-easyblocks/issues/1957
Expand Down Expand Up @@ -640,7 +638,16 @@ def make_module_extra(self, *args, **kwargs):
"""Add path to sitecustomize.py to $PYTHONPATH"""
txt = super(EB_Python, self).make_module_extra()

# Legacy support for existing installations doing "--rebuild --module-only"
if self.cfg.get('ebpythonprefixes'):
txt += self.module_generator.prepend_paths(PYTHONPATH, self.pythonpath)
new_dir = os.path.join('lib', 'python' + self.pyshortver, 'site-packages')
old_dir = os.path.join(log_path(), 'python')
if not os.path.exists(os.path.join(self.installdir, new_dir, 'sitecustomize.py')):
if not os.path.exists(os.path.join(self.installdir, old_dir, 'sitecustomize.py')):
raise EasyBuildError("sitecustomize.py is missing from installation.")
else:
txt += self.module_generator.prepend_paths(PYTHONPATH, os.path.join(self.installdir, old_dir))



return txt

0 comments on commit 8c30f6b

Please sign in to comment.