Hi Ole,

On 04/06/2021 14:09, Ole Holm Nielsen wrote:
On 6/4/21 1:54 PM, Kenneth Hoste wrote:
Please try running this, which will probably reveal the problem:

    python3 -O -m easybuild.main

$ python3 -O -m easybuild.main
Traceback (most recent call last):
   File "/usr/lib64/python3.6/runpy.py", line 193, in _run_module_as_main
     "__main__", mod_spec)
   File "/usr/lib64/python3.6/runpy.py", line 85, in _run_code
     exec(code, run_globals)
  File "/home/modules/software/EasyBuild/4.4.0/lib/python3.6/site-packages/easybuild/main.py", line 48, in <module>     from easybuild.framework.easyblock import build_and_install_one, inject_checksums   File "/home/modules/software/EasyBuild/4.4.0/lib/python3.6/site-packages/easybuild/framework/easyblock.py", line 54, in <module>
     import easybuild.tools.environment as env
  File "/home/modules/software/EasyBuild/4.4.0/lib/python3.6/site-packages/easybuild/tools/environment.py", line 36, in <module>
     from easybuild.tools.config import build_option
  File "/home/modules/software/EasyBuild/4.4.0/lib/python3.6/site-packages/easybuild/tools/config.py", line 47, in <module>
     from easybuild.base.frozendict import FrozenDictKnownKeys
ModuleNotFoundError: No module named 'easybuild.base.frozendict'

So the conclusion that 'python3' doesn't give access to a working EasyBuild installation was correct...

Your EasyBuild installation is basically broken, but the question then is how this happened, since the bootstrap procedure includes a check to ensure the installation completed correctly...

Do you have a 'base' subdirectory in /home/modules/software/EasyBuild/4.4.0/lib/python3.6/site-packages/easybuild/, and if so, what's in there?

Is this problem reproducible? If you reinstall EasyBuild v4.4.0, does the problem stay?


regards,

Kenneth



Somehow that's resulting in a non-zero exit code, which makes the 'eb' wrapper conclude it can't use the 'python3' command.

You can control which python* command is used to run EasyBuild using the $EB_PYTHON environment variable:

  export EB_PYTHON=python3

But that won't make any difference here, it should work already with python3?

If you also define $EB_VERBOSE (any value, so "export EB_VERBOSE=1"), you'll get a bit more information.

Indeed:

$ export EB_VERBOSE=1
$ eb --help
 >> Considering '/usr/bin/python3'...
>> '/usr/bin/python3' version: 3.6.8, which matches Python 3 version requirement (>= 3.5) >> '/usr/bin/python3' is NOT able to import 'easybuild.main', so NOT retaining it
 >> Considering 'python'...
 >> No 'python' found in $PATH, skipping...
 >> Considering 'python3'...
>> 'python3' version: 3.6.8, which matches Python 3 version requirement (>= 3.5)
 >> 'python3' is NOT able to import 'easybuild.main', so NOT retaining it
 >> Considering 'python2'...
 >> No 'python2' found in $PATH, skipping...
ERROR: No compatible 'python' command found via $PATH (EasyBuild requires Python 2.6+ or 3.5+)

$ python3 -O -m easybuild.main
Traceback (most recent call last):
   File "/usr/lib64/python3.6/runpy.py", line 193, in _run_module_as_main
     "__main__", mod_spec)
   File "/usr/lib64/python3.6/runpy.py", line 85, in _run_code
     exec(code, run_globals)
  File "/home/modules/software/EasyBuild/4.4.0/lib/python3.6/site-packages/easybuild/main.py", line 48, in <module>     from easybuild.framework.easyblock import build_and_install_one, inject_checksums   File "/home/modules/software/EasyBuild/4.4.0/lib/python3.6/site-packages/easybuild/framework/easyblock.py", line 54, in <module>
     import easybuild.tools.environment as env
  File "/home/modules/software/EasyBuild/4.4.0/lib/python3.6/site-packages/easybuild/tools/environment.py", line 36, in <module>
     from easybuild.tools.config import build_option
  File "/home/modules/software/EasyBuild/4.4.0/lib/python3.6/site-packages/easybuild/tools/config.py", line 47, in <module>
     from easybuild.base.frozendict import FrozenDictKnownKeys
ModuleNotFoundError: No module named 'easybuild.base.frozendict'

On 04/06/2021 13:33, Ole Holm Nielsen wrote:
I just installed EasyBuild v4.4.0 on a server running Almalinux 8.4:

$ python3 bootstrap_eb.py $EASYBUILD_PREFIX

Unfortunately, I'm now getting this error about a missing python:

$ eb --help
ERROR: No compatible 'python' command found via $PATH (EasyBuild requires Python 2.6+ or 3.5+)

Obviously, Python3 is installed on this el8 system:

$ which python python3
/usr/bin/which: no python in (/home/modules/software/EasyBuild/4.4.0/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/opt/modules/bin)
/usr/bin/python3

$ rpm -qf /usr/bin/python3
python36-3.6.8-2.module_el8.3.0+6191+6b4b10ec.x86_64

Is there a fix for the inability to locate the python command?

Thanks,
Ole


Reply via email to