Hi again,

Trying to install a python package from a requirements.txt using
use_pip_requirement . But pip fails with the error:

Collecting pyzmq>=17
  Downloading pyzmq-24.0.1.tar.gz (1.2 MB)
      1.2/1.2 MB 100.5 MB/s eta 0:00:00
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'error'
  error: subprocess-exited-with-error
[...]
        File
"/apps/prod/easybuild/sl7.x86_64.foss-2021a/software/Python/3.11.1-GCCcore-10.3.0-bare/lib/python3.11/site-packages/setuptools/build_meta.py",
line 335, in run_setup
          exec(code, locals())
        File "<string>", line 34, in <module>
      ModuleNotFoundError: No module named 'packaging'
      [end of output]


the pip install command that EB builds is:


/apps/prod/easybuild/sl7.x86_64.foss-2021a/software/Python/3.11.1-GCCcore-10.3.0-bare/bin/python
-m pip install
--prefix=/apps/prod/easybuild/sl7.x86_64.foss-2021a/software/Python/3.11.1-GCCcore-10.3.0-jupyter
--ignore-installed  --no-build-isolation  --requirement
/home/x2bioc/git/easyconfigs/Python/requirements.txt


which I ran outside easybuild and works perfectly (I loaded Python 3.11 and
ran tha bove command).

my question is: what is EB doing differently in its environment to the pip
command? Am I missing any option

My easyconfig looks like this:

easyblock = 'PythonPackage'

name = 'Python'

versionsuffix = '-jupyter'
version = '3.11.1'

homepage = 'https://python.org/'
description = """Python is a programming language that lets you work more
quickly and integrate your systems
 more effectively."""

toolchain = {'name': 'GCCcore', 'version': '10.3.0'}
toolchainopts = {'pic': True}

builddependencies = [
    ('UnZip', '6.0'),
]

dependencies = [
    ('Python', '3.11.1', '-bare'),
]

use_pip= True
sanity_pip_check= False
runtest= False
sources=['requirements.txt']
use_pip_requirement= True
unpack_sources = False
use_pip_for_deps = True


TIA,
Arnau

Reply via email to