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

Crick fails to install via pip when wheel needs to be built #43

Closed
dankerrigan opened this issue Dec 15, 2023 · 4 comments
Closed

Crick fails to install via pip when wheel needs to be built #43

dankerrigan opened this issue Dec 15, 2023 · 4 comments
Assignees

Comments

@dankerrigan
Copy link

Describe the issue:

pip install crick fails when building a wheel due to apparent errors in the pyproject.toml file. The issue is fixed by #41 but that change has not been released.

Minimal Complete Verifiable Example:

In a clean environment, run

pip install crick --no-cache-dir

Anything else we need to know?:

The output of the above command:

  Downloading crick-0.0.4.tar.gz (428 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 428.5/428.5 kB 680.9 kB/s eta 0:00:00
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'error'
  error: subprocess-exited-with-error
  
  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [151 lines of output]
      <string>:4: DeprecationWarning:
      
        `numpy.distutils` is deprecated since NumPy 1.23.0, as a result
        of the deprecation of `distutils` itself. It will be removed for
        Python >= 3.12. For older Python versions it will remain present.
        It is recommended to use `setuptools < 60.0` for those Python versions.
        For more details, see:
          https://numpy.org/devdocs/reference/distutils_status_migration.html
      
      
      /private/var/folders/5l/v0p6xl4d5md7t7l6bfy7kh340000gp/T/pip-build-env-w99jvs0a/overlay/lib/python3.10/site-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /private/var/folders/5l/v0p6xl4d5md7t7l6bfy7kh340000gp/T/pip-install-e9co2_0b/crick_1846722b288141f2872a28b5fddbd047/crick/space_saving.pyx
        tree = Parsing.p_module(s, pxd, full_module_name)
      /private/var/folders/5l/v0p6xl4d5md7t7l6bfy7kh340000gp/T/pip-build-env-w99jvs0a/overlay/lib/python3.10/site-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /private/var/folders/5l/v0p6xl4d5md7t7l6bfy7kh340000gp/T/pip-install-e9co2_0b/crick_1846722b288141f2872a28b5fddbd047/crick/stats.pyx
        tree = Parsing.p_module(s, pxd, full_module_name)
      /private/var/folders/5l/v0p6xl4d5md7t7l6bfy7kh340000gp/T/pip-build-env-w99jvs0a/overlay/lib/python3.10/site-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /private/var/folders/5l/v0p6xl4d5md7t7l6bfy7kh340000gp/T/pip-install-e9co2_0b/crick_1846722b288141f2872a28b5fddbd047/crick/tdigest.pyx
        tree = Parsing.p_module(s, pxd, full_module_name)
      Compiling crick/tdigest.pyx because it changed.
      Compiling crick/space_saving.pyx because it changed.
      Compiling crick/stats.pyx because it changed.
      [1/3] Cythonizing crick/space_saving.pyx
      [2/3] Cythonizing crick/stats.pyx
      [3/3] Cythonizing crick/tdigest.pyx
      /private/var/folders/5l/v0p6xl4d5md7t7l6bfy7kh340000gp/T/pip-build-env-w99jvs0a/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 = 'High performance approximate and streaming algorithms'`
      
              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/5l/v0p6xl4d5md7t7l6bfy7kh340000gp/T/pip-build-env-w99jvs0a/overlay/lib/python3.10/site-packages/setuptools/config/_apply_pyprojecttoml.py:75: _MissingDynamic: `readme` defined outside of `pyproject.toml` is ignored.
      !!
      
              ********************************************************************************
              The following seems to be defined outside of `pyproject.toml`:
      
              `readme = 'Crick\n=====\n\n|Build Status| |Conda Badge| |PyPI Badge|\n\nCrick is a fast library of approximate and streaming algorithms. It is still a\nwork in progress, use at your own risk.\n\nInstallation\n------------\n\nCrick is available via ``conda`` or ``pip``:\n\n::\n\n   # Install with conda\n   $ conda install crick -c conda-forge\n\n   # Install with pip\n   $ pip install crick\n\n.. |Build Status| image:: https://github.com/dask/crick/actions/workflows/tests.yml/badge.svg\n   :target: https://github.com/dask/crick/actions/workflows/tests.yml\n.. |PyPI Badge| image:: https://img.shields.io/pypi/v/crick.svg\n   :target: https://pypi.python.org/pypi/crick\n.. |Conda Badge| image:: https://anaconda.org/conda-forge/crick/badges/version.svg\n   :target: https://anaconda.org/conda-forge/crick\n'`
      
              According to the spec (see the link below), however, setuptools CANNOT
              consider this value unless `readme` is listed as `dynamic`.
      
              https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
      
              To prevent this problem, you can list `readme` 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/5l/v0p6xl4d5md7t7l6bfy7kh340000gp/T/pip-build-env-w99jvs0a/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'`
      
              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/5l/v0p6xl4d5md7t7l6bfy7kh340000gp/T/pip-build-env-w99jvs0a/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 = 'Jim Crist'`
      
              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/5l/v0p6xl4d5md7t7l6bfy7kh340000gp/T/pip-build-env-w99jvs0a/overlay/lib/python3.10/site-packages/setuptools/config/_apply_pyprojecttoml.py:75: _MissingDynamic: `keywords` defined outside of `pyproject.toml` is ignored.
      !!
      
              ********************************************************************************
              The following seems to be defined outside of `pyproject.toml`:
      
              `keywords = ['streaming approximate algorithms']`
      
              According to the spec (see the link below), however, setuptools CANNOT
              consider this value unless `keywords` is listed as `dynamic`.
      
              https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
      
              To prevent this problem, you can list `keywords` 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/.../conda/envs/crick-test/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/Users/.../conda/envs/crick-test/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/.../conda/envs/crick-test/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
          return hook(config_settings)
        File "/private/var/folders/5l/v0p6xl4d5md7t7l6bfy7kh340000gp/T/pip-build-env-w99jvs0a/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/5l/v0p6xl4d5md7t7l6bfy7kh340000gp/T/pip-build-env-w99jvs0a/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 295, in _get_build_requires
          self.run_setup()
        File "/private/var/folders/5l/v0p6xl4d5md7t7l6bfy7kh340000gp/T/pip-build-env-w99jvs0a/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 311, in run_setup
          exec(code, locals())
        File "<string>", line 54, in <module>
        File "/private/var/folders/5l/v0p6xl4d5md7t7l6bfy7kh340000gp/T/pip-build-env-w99jvs0a/overlay/lib/python3.10/site-packages/setuptools/__init__.py", line 103, in setup
          return distutils.core.setup(**attrs)
        File "/private/var/folders/5l/v0p6xl4d5md7t7l6bfy7kh340000gp/T/pip-build-env-w99jvs0a/overlay/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 159, in setup
          dist.parse_config_files()
        File "/private/var/folders/5l/v0p6xl4d5md7t7l6bfy7kh340000gp/T/pip-build-env-w99jvs0a/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/5l/v0p6xl4d5md7t7l6bfy7kh340000gp/T/pip-build-env-w99jvs0a/overlay/lib/python3.10/site-packages/setuptools/config/pyprojecttoml.py", line 67, in apply_configuration
          return _apply(dist, config, filepath)
        File "/private/var/folders/5l/v0p6xl4d5md7t7l6bfy7kh340000gp/T/pip-build-env-w99jvs0a/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/5l/v0p6xl4d5md7t7l6bfy7kh340000gp/T/pip-build-env-w99jvs0a/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/5l/v0p6xl4d5md7t7l6bfy7kh340000gp/T/pip-build-env-w99jvs0a/overlay/lib/python3.10/site-packages/setuptools/config/_apply_pyprojecttoml.py", line 163, in _long_description
          file = val.get("file") or []
      AttributeError: 'NoneType' object has no attribute 'get'
      [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.```

**Environment**:

- Dask version: NA
- Python version: 3.10.13
- Operating System: MacOS on arm64
- Install method (conda, pip, source): pip
@milesgranger milesgranger self-assigned this Dec 17, 2023
@milesgranger
Copy link
Collaborator

Should be fixed now with 0.0.5 https://github.com/dask/crick/releases/tag/0.0.5

Please reopen if not. :)

@dankerrigan
Copy link
Author

Thank you so much! Is it possible to get an updated conda release as well? The latest there is 0.0.3.

@milesgranger
Copy link
Collaborator

You bet, conda-forge/crick-feedstock#20 is poised to go in soon. 👍

@milesgranger
Copy link
Collaborator

@dankerrigan it's just been merged, apologies for the delay!

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

2 participants