broadinstitute/cromshell

Local pip install fails

sjfleming opened this issue · 1 comments

If I run

git clone git@github.com:broadinstitute/cromshell.git
cd cromshell
pip install -e .

it fails to install.

I see this

Obtaining file:///Users/sfleming/Documents/Github/cromshell
  Installing build dependencies ... done
  Checking if build backend supports build_editable ... done
  Getting requirements to build editable ... error
  error: subprocess-exited-with-error
  
  × Getting requirements to build editable did not run successfully.
  │ exit code: 1
  ╰─> [173 lines of output]
      /private/var/folders/zd/jpvyhqzx6z19xsdgl7f9fjy40000gq/T/pip-build-env-p01ww7jv/overlay/lib/python3.10/site-packages/setuptools/config/_apply_pyprojecttoml.py:75: _MissingDynamic: `description` defined outside of `pyproject.toml` is ignored.
      !!
      
              ********************************************************************************
              The following seems to be defined outside of `pyproject.toml`:
      
              `description = 'Command Line Interface (CLI) for Cromwell servers'`
      
              According to the spec (see the link below), however, setuptools CANNOT
              consider this value unless `description` is listed as `dynamic`.
      
              https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
      
              To prevent this problem, you can list `description` under `dynamic` or alternatively
              remove the `[project]` table from your file and rely entirely on other means of
              configuration.
              ********************************************************************************
      
      !!
        _handle_missing_dynamic(dist, project_table)
      /private/var/folders/zd/jpvyhqzx6z19xsdgl7f9fjy40000gq/T/pip-build-env-p01ww7jv/overlay/lib/python3.10/site-packages/setuptools/config/_apply_pyprojecttoml.py:75: _MissingDynamic: `requires-python` defined outside of `pyproject.toml` is ignored.
      !!
      
              ********************************************************************************
              The following seems to be defined outside of `pyproject.toml`:
      
              `requires-python = '>=3.7'`
      
              According to the spec (see the link below), however, setuptools CANNOT
              consider this value unless `requires-python` is listed as `dynamic`.
      
              https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
      
              To prevent this problem, you can list `requires-python` under `dynamic` or alternatively
              remove the `[project]` table from your file and rely entirely on other means of
              configuration.
              ********************************************************************************
      
      !!
        _handle_missing_dynamic(dist, project_table)
      /private/var/folders/zd/jpvyhqzx6z19xsdgl7f9fjy40000gq/T/pip-build-env-p01ww7jv/overlay/lib/python3.10/site-packages/setuptools/config/_apply_pyprojecttoml.py:75: _MissingDynamic: `license` defined outside of `pyproject.toml` is ignored.
      !!
      
              ********************************************************************************
              The following seems to be defined outside of `pyproject.toml`:
      
              `license = 'BSD 3-Clause'`
      
              According to the spec (see the link below), however, setuptools CANNOT
              consider this value unless `license` is listed as `dynamic`.
      
              https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
      
              To prevent this problem, you can list `license` under `dynamic` or alternatively
              remove the `[project]` table from your file and rely entirely on other means of
              configuration.
              ********************************************************************************
      
      !!
        _handle_missing_dynamic(dist, project_table)
      /private/var/folders/zd/jpvyhqzx6z19xsdgl7f9fjy40000gq/T/pip-build-env-p01ww7jv/overlay/lib/python3.10/site-packages/setuptools/config/_apply_pyprojecttoml.py:75: _MissingDynamic: `authors` defined outside of `pyproject.toml` is ignored.
      !!
      
              ********************************************************************************
              The following seems to be defined outside of `pyproject.toml`:
      
              `authors = 'Jonn Smith, Louis Bergelson, Beri Shifaw'`
      
              According to the spec (see the link below), however, setuptools CANNOT
              consider this value unless `authors` is listed as `dynamic`.
      
              https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
      
              To prevent this problem, you can list `authors` under `dynamic` or alternatively
              remove the `[project]` table from your file and rely entirely on other means of
              configuration.
              ********************************************************************************
      
      !!
        _handle_missing_dynamic(dist, project_table)
      /private/var/folders/zd/jpvyhqzx6z19xsdgl7f9fjy40000gq/T/pip-build-env-p01ww7jv/overlay/lib/python3.10/site-packages/setuptools/config/_apply_pyprojecttoml.py:75: _MissingDynamic: `classifiers` defined outside of `pyproject.toml` is ignored.
      !!
      
              ********************************************************************************
              The following seems to be defined outside of `pyproject.toml`:
      
              `classifiers = ['Development Status :: 5 - Production/Stable', 'Intended Audience :: Science/Research', 'License :: OSI Approved :: BSD License', 'Natural Language :: English', 'Operating System :: OS Independent', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: Implementation :: CPython']`
      
              According to the spec (see the link below), however, setuptools CANNOT
              consider this value unless `classifiers` is listed as `dynamic`.
      
              https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
      
              To prevent this problem, you can list `classifiers` under `dynamic` or alternatively
              remove the `[project]` table from your file and rely entirely on other means of
              configuration.
              ********************************************************************************
      
      !!
        _handle_missing_dynamic(dist, project_table)
      /private/var/folders/zd/jpvyhqzx6z19xsdgl7f9fjy40000gq/T/pip-build-env-p01ww7jv/overlay/lib/python3.10/site-packages/setuptools/config/_apply_pyprojecttoml.py:75: _MissingDynamic: `scripts` defined outside of `pyproject.toml` is ignored.
      !!
      
              ********************************************************************************
              The following seems to be defined outside of `pyproject.toml`:
      
              `scripts = ['cromshell=cromshell.__main__:main_entry']`
      
              According to the spec (see the link below), however, setuptools CANNOT
              consider this value unless `scripts` is listed as `dynamic`.
      
              https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
      
              To prevent this problem, you can list `scripts` under `dynamic` or alternatively
              remove the `[project]` table from your file and rely entirely on other means of
              configuration.
              ********************************************************************************
      
      !!
        _handle_missing_dynamic(dist, project_table)
      /private/var/folders/zd/jpvyhqzx6z19xsdgl7f9fjy40000gq/T/pip-build-env-p01ww7jv/overlay/lib/python3.10/site-packages/setuptools/config/_apply_pyprojecttoml.py:75: _MissingDynamic: `dependencies` defined outside of `pyproject.toml` is ignored.
      !!
      
              ********************************************************************************
              The following seems to be defined outside of `pyproject.toml`:
      
              `dependencies = ['gcsfs>=2022.3.0', 'google-cloud-bigquery>=3.5.0', 'termcolor>=1.1.0', 'click>=8.0.0', 'requests>=2.27.1', 'pygments>=2.12.0', 'tabulate>=0.8.9', 'miniwdl>=1.10.0']`
      
              According to the spec (see the link below), however, setuptools CANNOT
              consider this value unless `dependencies` is listed as `dynamic`.
      
              https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
      
              To prevent this problem, you can list `dependencies` under `dynamic` or alternatively
              remove the `[project]` table from your file and rely entirely on other means of
              configuration.
              ********************************************************************************
      
      !!
        _handle_missing_dynamic(dist, project_table)
      Traceback (most recent call last):
        File "/Users/sfleming/miniconda3/envs/cromshell/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/Users/sfleming/miniconda3/envs/cromshell/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/Users/sfleming/miniconda3/envs/cromshell/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 132, in get_requires_for_build_editable
          return hook(config_settings)
        File "/private/var/folders/zd/jpvyhqzx6z19xsdgl7f9fjy40000gq/T/pip-build-env-p01ww7jv/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 441, in get_requires_for_build_editable
          return self.get_requires_for_build_wheel(config_settings)
        File "/private/var/folders/zd/jpvyhqzx6z19xsdgl7f9fjy40000gq/T/pip-build-env-p01ww7jv/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 325, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=['wheel'])
        File "/private/var/folders/zd/jpvyhqzx6z19xsdgl7f9fjy40000gq/T/pip-build-env-p01ww7jv/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 295, in _get_build_requires
          self.run_setup()
        File "/private/var/folders/zd/jpvyhqzx6z19xsdgl7f9fjy40000gq/T/pip-build-env-p01ww7jv/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 311, in run_setup
          exec(code, locals())
        File "<string>", line 25, in <module>
        File "/private/var/folders/zd/jpvyhqzx6z19xsdgl7f9fjy40000gq/T/pip-build-env-p01ww7jv/overlay/lib/python3.10/site-packages/setuptools/__init__.py", line 103, in setup
          return distutils.core.setup(**attrs)
        File "/private/var/folders/zd/jpvyhqzx6z19xsdgl7f9fjy40000gq/T/pip-build-env-p01ww7jv/overlay/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 159, in setup
          dist.parse_config_files()
        File "/private/var/folders/zd/jpvyhqzx6z19xsdgl7f9fjy40000gq/T/pip-build-env-p01ww7jv/overlay/lib/python3.10/site-packages/setuptools/dist.py", line 627, in parse_config_files
          pyprojecttoml.apply_configuration(self, filename, ignore_option_errors)
        File "/private/var/folders/zd/jpvyhqzx6z19xsdgl7f9fjy40000gq/T/pip-build-env-p01ww7jv/overlay/lib/python3.10/site-packages/setuptools/config/pyprojecttoml.py", line 67, in apply_configuration
          return _apply(dist, config, filepath)
        File "/private/var/folders/zd/jpvyhqzx6z19xsdgl7f9fjy40000gq/T/pip-build-env-p01ww7jv/overlay/lib/python3.10/site-packages/setuptools/config/_apply_pyprojecttoml.py", line 56, in apply
          _apply_project_table(dist, config, root_dir)
        File "/private/var/folders/zd/jpvyhqzx6z19xsdgl7f9fjy40000gq/T/pip-build-env-p01ww7jv/overlay/lib/python3.10/site-packages/setuptools/config/_apply_pyprojecttoml.py", line 82, in _apply_project_table
          corresp(dist, value, root_dir)
        File "/private/var/folders/zd/jpvyhqzx6z19xsdgl7f9fjy40000gq/T/pip-build-env-p01ww7jv/overlay/lib/python3.10/site-packages/setuptools/config/_apply_pyprojecttoml.py", line 211, in _python_requires
          _set_config(dist, "python_requires", SpecifierSet(val))
        File "/private/var/folders/zd/jpvyhqzx6z19xsdgl7f9fjy40000gq/T/pip-build-env-p01ww7jv/overlay/lib/python3.10/site-packages/setuptools/_vendor/packaging/specifiers.py", line 708, in __init__
          split_specifiers = [s.strip() for s in specifiers.split(",") if s.strip()]
      AttributeError: 'NoneType' object has no attribute 'split'
      [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 editable 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.

I see the same thing if I install in non-editable mode pip install .

In non-editable mode it starts like this

Processing /Users/sfleming/Documents/Github/cromshell
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error
  
  × Getting requirements to build wheel did not run successfully.