Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

installation of easybuild-easyconfigs fails because easybuild/easyconfigs/p/path.py is not a regular file #3984

Closed
pjf295 opened this issue Mar 28, 2022 · 2 comments
Milestone

Comments

@pjf295
Copy link

pjf295 commented Mar 28, 2022

I am trying to install easybuild on centos 7.9. I made a new environment within miniconda for the installation, but encountered an error while trying a pip install of easybuild. Here is the environment:

$ python -V
   Python 3.10.4
$ type module
  module is a function
  module () 
  { 
      eval $($LMOD_CMD bash "$@") && eval $(${LMOD_SETTARG_CMD:-:} -s sh)
  }
$ type -f module

  -bash: type: module: not found
$ module --version

  Modules based on Lua: Version 8.2.7  2019-11-30 09:41 -06:00
      by Robert McLay mclay@tacc.utexas.edu
$ module av EasyBuild
    No module(s) or extension(s) found!
  Use "module spider" to find all possible modules and extensions.
  Use "module keyword key1 key2 ..." to search for all possible modules matching any of the "keys".
$ which -a eb

  /data/miniconda/envs/easybuild/bin/eb
$ eb --version

This is EasyBuild 4.5.3 (framework: 4.5.3, easyblocks: 0.0.UNKNOWN.EASYBLOCKS) on host muon.'
$ pip install easybuild
Collecting easybuild
  Using cached easybuild-4.5.3-py3-none-any.whl
Collecting easybuild-easyconfigs==4.5.3
  Using cached easybuild-easyconfigs-4.5.3.tar.gz (7.3 MB)
  Preparing metadata (setup.py) ... done
Collecting easybuild-easyblocks==4.5.3
  Using cached easybuild_easyblocks-4.5.3-py3-none-any.whl
Requirement already satisfied: easybuild-framework==4.5.3 in /data/miniconda/envs/easybuild/lib/python3.10/site-packages (from easybuild) (4.5.3)
Building wheels for collected packages: easybuild-easyconfigs
  Building wheel for easybuild-easyconfigs (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [29 lines of output]
      Installing version 4.5.3 (required versions: API >= 4, easyblocks >= 4.5)
      running bdist_wheel
      running build
      running build_py
      package init file 'easybuild/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/__archive__/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/a/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/b/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/c/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/d/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/e/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/f/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/g/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/h/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/i/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/j/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/k/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/l/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/m/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/n/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/o/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/p/__init__.py' not found (or not a regular file)
      creating build
      creating build/lib
      creating build/lib/easybuild
      creating build/lib/easybuild/easyconfigs
      creating build/lib/easybuild/easyconfigs/p
      error: can't copy 'easybuild/easyconfigs/p/path.py': doesn't exist or not a regular file
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for easybuild-easyconfigs
  Running setup.py clean for easybuild-easyconfigs
Failed to build easybuild-easyconfigs
Installing collected packages: easybuild-easyconfigs, easybuild-easyblocks, easybuild
  Running setup.py install for easybuild-easyconfigs ... error
  error: subprocess-exited-with-error
  
  × Running setup.py install for easybuild-easyconfigs did not run successfully.
  │ exit code: 1
  ╰─> [31 lines of output]
      Installing version 4.5.3 (required versions: API >= 4, easyblocks >= 4.5)
      running install
      /data/miniconda/envs/easybuild/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
        warnings.warn(
      running build
      running build_py
      package init file 'easybuild/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/__archive__/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/a/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/b/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/c/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/d/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/e/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/f/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/g/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/h/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/i/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/j/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/k/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/l/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/m/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/n/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/o/__init__.py' not found (or not a regular file)
      package init file 'easybuild/easyconfigs/p/__init__.py' not found (or not a regular file)
      creating build
      creating build/lib
      creating build/lib/easybuild
      creating build/lib/easybuild/easyconfigs
      creating build/lib/easybuild/easyconfigs/p
      error: can't copy 'easybuild/easyconfigs/p/path.py': doesn't exist or not a regular file
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure

× Encountered error while trying to install package.
╰─> easybuild-easyconfigs

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.
(easybuild) paulfons@muon:/data/Software>python -V
Python 3.10.4
(easybuild) paulfons@muon:/data/Software>type module
module is a function
module () 
{ 
    eval $($LMOD_CMD bash "$@") && eval $(${LMOD_SETTARG_CMD:-:} -s sh)
}
(easybuild) paulfons@muon:/data/Software>type -f module
-bash: type: module: not found
(easybuild) paulfons@muon:/data/Software>module --version

Modules based on Lua: Version 8.2.7  2019-11-30 09:41 -06:00
    by Robert McLay mclay@tacc.utexas.edu

(easybuild) paulfons@muon:/data/Software>module av EasyBuild
No module(s) or extension(s) found!
Use "module spider" to find all possible modules and extensions.
Use "module keyword key1 key2 ..." to search for all possible modules matching any of the "keys".


(easybuild) paulfons@muon:/data/Software>which -a eb
/data/miniconda/envs/easybuild/bin/eb
(easybuild) paulfons@muon:/data/Software>eb --version
This is EasyBuild 4.5.3 (framework: 4.5.3, easyblocks: 0.0.UNKNOWN.EASYBLOCKS) on host muon.
@boegel boegel added this to the 4.x milestone Mar 29, 2022
@boegel
Copy link
Member

boegel commented Mar 29, 2022

@pjf295 We briefly discussed this in the EasyBuild Slack.

This error is positively bizarre:

error: can't copy 'easybuild/easyconfigs/p/path.py': doesn't exist or not a regular file

I mentioned in Slack that there's no such file in the easyconfigs package, but it seems like that's not entirely correct: we have a directory named path.py, see https://github.com/easybuilders/easybuild-easyconfigs/tree/develop/easybuild/easyconfigs/p/path.py .

I suspect this is tripping up pip or conda somehow, because it's making an assumption somewhere that something ending in .py must be a Python file perhaps?
I consider that a bug in whatever package is responsible for that error (perhaps setuptools?)...

@boegel boegel changed the title Installation issue: easybuild-easyconfigs failure installation of easybuild-easyconfigs fails because easybuild/easyconfigs/p/path.py is not a regular file Mar 29, 2022
@boegel
Copy link
Member

boegel commented Jun 20, 2022

This problem should be fixed in EasyBuild v4.5.5, thanks to the changes in easybuilders/easybuild-easyconfigs#15206, so closing...

@boegel boegel closed this as completed Jun 20, 2022
@boegel boegel modified the milestones: 4.x, 4.5.5 Jun 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants