On 04/06/2021 14:30, Ole Holm Nielsen wrote:
On 6/4/21 2:22 PM, Kenneth Hoste wrote:
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?
$ ls -la
/home/modules/software/EasyBuild/4.4.0/lib/python3.6/site-packages/easybuild
total 44
drwxr-xr-x. 8 modules modules 137 Jun 3 09:42 .
drwxr-xr-x. 4 modules modules 182 Jun 3 09:42 ..
drwxr-xr-x. 3 modules modules 147 Jun 4 07:30 base
drwxr-xr-x. 31 modules modules 4096 Jun 3 09:42 easyblocks
drwxr-xr-x. 4 modules modules 151 Jun 3 09:42 framework
-rw-r--r--. 1 modules modules 1114 Jun 2 11:54 __init__.py
-rw-r--r--. 1 modules modules 24801 Jun 2 11:54 main.py
drwxr-xr-x. 2 modules modules 134 Jun 3 09:42 __pycache__
drwxr-xr-x. 7 modules modules 4096 Jun 4 07:30 toolchains
drwxr-xr-x. 11 modules modules 4096 Jun 4 07:30 tools
And what do you have in
/home/modules/software/EasyBuild/4.4.0/lib/python3.6/site-packages/easybuild/base
then?
Is this problem reproducible? If you reinstall EasyBuild v4.4.0, does
the problem stay?
I've done the bootstrap again now. The bootstrap log file is attached.
I have the same problem:
[modules@d059 ~]$ 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+)
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