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

Problems with installation via pip. No module metis_backend.calculations #24

Open
alinzh opened this issue Feb 17, 2025 · 0 comments
Open

Comments

@alinzh
Copy link

alinzh commented Feb 17, 2025

I need to install a branch abinitio.
To do this, I clone the repository, checkout to that branch, add config to .../conf/env.ini, and run the command in console:
pip install .../metis-backend

Errors occur due to incorrect syntax in requirements.txt:

Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error
  
  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [64 lines of output]
      /tmp/pip-build-env-wi1u3wuo/overlay/lib/python3.11/site-packages/setuptools/config/expand.py:126: SetuptoolsWarning: File '/root/projects/ab_initio_calculations/metis_backend/README.rst' cannot be found
        return '\n'.join(
      Traceback (most recent call last):
        File "/tmp/pip-build-env-wi1u3wuo/overlay/lib/python3.11/site-packages/setuptools/_vendor/packaging/requirements.py", line 36, in __init__
          parsed = _parse_requirement(requirement_string)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-wi1u3wuo/overlay/lib/python3.11/site-packages/setuptools/_vendor/packaging/_parser.py", line 62, in parse_requirement
          return _parse_requirement(Tokenizer(source, rules=DEFAULT_RULES))
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-wi1u3wuo/overlay/lib/python3.11/site-packages/setuptools/_vendor/packaging/_parser.py", line 80, in _parse_requirement
          url, specifier, marker = _parse_requirement_details(tokenizer)
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-wi1u3wuo/overlay/lib/python3.11/site-packages/setuptools/_vendor/packaging/_parser.py", line 124, in _parse_requirement_details
          marker = _parse_requirement_marker(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-wi1u3wuo/overlay/lib/python3.11/site-packages/setuptools/_vendor/packaging/_parser.py", line 145, in _parse_requirement_marker
          tokenizer.raise_syntax_error(
        File "/tmp/pip-build-env-wi1u3wuo/overlay/lib/python3.11/site-packages/setuptools/_vendor/packaging/_tokenizer.py", line 167, in raise_syntax_error
          raise ParserSyntaxError(
      packaging._tokenizer.ParserSyntaxError: Expected end or semicolon (after name and no valid version specifier)
          git+https://github.com/tilde-lab/aiida-crystal-dft
             ^
      
      The above exception was the direct cause of the following exception:
      
      Traceback (most recent call last):
        File "/root/miniconda3/envs/ml-selection/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
          main()
        File "/root/miniconda3/envs/ml-selection/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main
          json_out["return_val"] = hook(**hook_input["kwargs"])
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/root/miniconda3/envs/ml-selection/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 143, in get_requires_for_build_wheel
          return hook(config_settings)
                 ^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-wi1u3wuo/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 334, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=[])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-wi1u3wuo/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 304, in _get_build_requires
          self.run_setup()
        File "/tmp/pip-build-env-wi1u3wuo/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 320, in run_setup
          exec(code, locals())
        File "<string>", line 1, in <module>
        File "/tmp/pip-build-env-wi1u3wuo/overlay/lib/python3.11/site-packages/setuptools/__init__.py", line 117, in setup
          return distutils.core.setup(**attrs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-wi1u3wuo/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 160, in setup
          dist.parse_config_files()
        File "/tmp/pip-build-env-wi1u3wuo/overlay/lib/python3.11/site-packages/setuptools/dist.py", line 652, in parse_config_files
          pyprojecttoml.apply_configuration(self, filename, ignore_option_errors)
        File "/tmp/pip-build-env-wi1u3wuo/overlay/lib/python3.11/site-packages/setuptools/config/pyprojecttoml.py", line 73, in apply_configuration
          return _apply(dist, config, filepath)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-wi1u3wuo/overlay/lib/python3.11/site-packages/setuptools/config/_apply_pyprojecttoml.py", line 60, in apply
          dist._finalize_requires()
        File "/tmp/pip-build-env-wi1u3wuo/overlay/lib/python3.11/site-packages/setuptools/dist.py", line 380, in _finalize_requires
          self._normalize_requires()
        File "/tmp/pip-build-env-wi1u3wuo/overlay/lib/python3.11/site-packages/setuptools/dist.py", line 398, in _normalize_requires
          self.install_requires = list_(map(str, _reqs.parse(install_requires)))
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-wi1u3wuo/overlay/lib/python3.11/site-packages/setuptools/_vendor/packaging/requirements.py", line 38, in __init__
          raise InvalidRequirement(str(e)) from e
      packaging.requirements.InvalidRequirement: Expected end or semicolon (after name and no valid version specifier)
          git+https://github.com/tilde-lab/aiida-crystal-dft
             ^
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

To solve the problem it is enough to comment out the lines:

git+https://github.com/tilde-lab/aiida-crystal-dft
git+https://github.com/tilde-lab/aiida-dummy

Further, when trying to import the required modules, an error occurs:

Exception has occurred: ModuleNotFoundError
No module named 'metis_backend.calculations'
  File "/root/projects/ab_initio_calculations/ab_initio_calculations/scripts/tests/test_supported_structures.py", line 8, in <module>
    from metis_backend.calculations import Calc_setup
ModuleNotFoundError: No module named 'metis_backend.calculations'

I would like to note that if you go to the place where metis is installed, there are really no these modules there (see screenshot).
Image

After that, I decided to try installing the main branch. Now the following error occurred when importing metis_backend.calculations module:

Traceback (most recent call last):
  File "/root/projects/ab_initio_calculations/ab_initio_calculations/scripts/tests/test_supported_structures.py", line 8, in <module>
    from metis_backend.calculations import Calc_setup
  File "/root/miniconda3/envs/ml-selection/lib/python3.11/site-packages/metis_backend/calculations/__init__.py", line 23, in <module>
    class Calc_setup:
  File "/root/miniconda3/envs/ml-selection/lib/python3.11/site-packages/metis_backend/calculations/__init__.py", line 28, in Calc_setup
    with open(
         ^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/root/miniconda3/envs/ml-selection/lib/python3.11/site-packages/metis_backend/calculations/schemata/dummy.json'

This module already exists in the directory where library is installed, but there is no json file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant