scikit-build / cmake-python-distributions

This project provides the infrastructure to build CMake Python wheels.
https://cmake-python-distributions.readthedocs.io
Apache License 2.0
111 stars 34 forks source link

Lookup error when using no-binary install - Python 3.11 WSL Ubuntu #497

Open joewalk102 opened 4 months ago

joewalk102 commented 4 months ago

When trying to install with the option --no-binary in Python 3.11 in WSL2 Ubuntu, I receive the following error:

ERROR: Exception:
            Traceback (most recent call last):
              File ".../.venv/lib/python3.11/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper
                status = run_func(*args)
                         ^^^^^^^^^^^^^^^
              File ".../.venv/lib/python3.11/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper
                return func(self, options, args)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^
              File ".../.venv/lib/python3.11/site-packages/pip/_internal/commands/install.py", line 377, in run
                requirement_set = resolver.resolve(
                                  ^^^^^^^^^^^^^^^^^
              File ".../.venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 95, in resolve
                result = self._result = resolver.resolve(
                                        ^^^^^^^^^^^^^^^^^
              File ".../.venv/lib/python3.11/site-packages/pip/_vendor/resolvelib/resolvers.py", line 546, in resolve
                state = resolution.resolve(requirements, max_rounds=max_rounds)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File ".../.venv/lib/python3.11/site-packages/pip/_vendor/resolvelib/resolvers.py", line 397, in resolve
                self._add_to_criteria(self.state.criteria, r, parent=None)
              File ".../.venv/lib/python3.11/site-packages/pip/_vendor/resolvelib/resolvers.py", line 173, in _add_to_criteria
                if not criterion.candidates:
              File ".../.venv/lib/python3.11/site-packages/pip/_vendor/resolvelib/structs.py", line 156, in __bool__
                return bool(self._sequence)
                       ^^^^^^^^^^^^^^^^^^^^
              File ".../.venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 155, in __bool__
                return any(self)
                       ^^^^^^^^^
              File ".../.venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 143, in <genexpr>
                return (c for c in iterator if id(c) not in self._incompatible_ids)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File ".../.venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 47, in _iter_built
                candidate = func()
                            ^^^^^^
              File ".../.venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 182, in _make_candidate_from_link
                base: Optional[BaseCandidate] = self._make_base_candidate_from_link(
                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File ".../.venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 228, in _make_base_candidate_from_link
                self._link_candidate_cache[link] = LinkCandidate(
                                                   ^^^^^^^^^^^^^^
              File ".../.venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 290, in __init__
                super().__init__(
              File ".../.venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__
                self.dist = self._prepare()
                            ^^^^^^^^^^^^^^^
              File ".../.venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 222, in _prepare
                dist = self._prepare_distribution()
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File ".../.venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 301, in _prepare_distribution
                return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File ".../.venv/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 525, in prepare_linked_requirement
                return self._prepare_linked_requirement(req, parallel_builds)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File ".../.venv/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 640, in _prepare_linked_requirement
                dist = _get_prepared_distribution(
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File ".../.venv/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 70, in _get_prepared_distribution
                with build_tracker.track(req, tracker_id):
              File "/usr/lib/python3.11/contextlib.py", line 137, in __enter__
                return next(self.gen)
                       ^^^^^^^^^^^^^^
              File ".../.venv/lib/python3.11/site-packages/pip/_internal/operations/build/build_tracker.py", line 137, in track
                self.add(req, tracker_id)
              File ".../.venv/lib/python3.11/site-packages/pip/_internal/operations/build/build_tracker.py", line 103, in add
                raise LookupError(message)

LookupError: https://files.pythonhosted.org/packages/80/bf/4f9a9f754507992be28b985d1e9b17f93a2271106b5916a212efe1d65205/cmake-3.29.2.tar.gz (from https://pypi.org/simple/cmake/) (requires-python:>=3.7) is already being built: cmake>=3.15 from https://files.pythonhosted.org/packages/80/bf/4f9a9f754507992be28b985d1e9b17f93a2271106b5916a212efe1d65205/cmake-3.29.2.tar.gz

I tried to install an older version, but received this message:

Building wheel for cmake (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for cmake (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [42 lines of output]
      /tmp/pip-build-env-9ug0vlfe/overlay/lib/python3.11/site-packages/setuptools_scm/git.py:312: UserWarning: git archive did not support describe output
        warnings.warn("git archive did not support describe output")
      /tmp/pip-build-env-9ug0vlfe/overlay/lib/python3.11/site-packages/setuptools_scm/git.py:331: UserWarning: unprocessed git archival found (no export subst applied)
        warnings.warn("unprocessed git archival found (no export subst applied)")
      Traceback (most recent call last):
        File "/tmp/pip-build-env-9ug0vlfe/overlay/lib/python3.11/site-packages/skbuild/setuptools_wrap.py", line 645, in setup
          cmkr = cmaker.CMaker(cmake_executable)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-9ug0vlfe/overlay/lib/python3.11/site-packages/skbuild/cmaker.py", line 148, in __init__
          self.cmake_version = get_cmake_version(self.cmake_executable)
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-9ug0vlfe/overlay/lib/python3.11/site-packages/skbuild/cmaker.py", line 105, in get_cmake_version
          raise SKBuildError(msg) from err

          =============================DEBUG ASSISTANCE=============================
          If you are seeing a compilation error please try the following steps to
          successfully install cmake:
          1) Upgrade to the latest pip and try again. This will fix errors for most
             users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
          2) If running on Raspberry Pi OS, you can set PIP_ONLY_BINARY=cmake in
             order to retrieve the latest wheels built by piwheels.
             c.f. https://github.com/scikit-build/cmake-python-distributions/issues/392#issuecomment-1676284749
          3) If on Linux, with glibc < 2.12, you can set PIP_ONLY_BINARY=cmake in
             order to retrieve the last manylinux1 compatible wheel.
          4) If on Linux, with glibc < 2.12, you can cap "cmake<3.23" in your
             requirements in order to retrieve the last manylinux1 compatible wheel.
          5) Open an issue with the debug information that follows at
             https://github.com/scikit-build/cmake-python-distributions/issues

          Python: 3.11.0
          platform: Linux-5.15.146.1-microsoft-standard-WSL2-x86_64-with-glibc2.35
          glibc: glibc 2.35
          machine: x86_64
          bits: 64
          pip: n/a
          setuptools: 69.5.1
          scikit-build: 0.17.6
          PEP517_BUILD_BACKEND=setuptools.build_meta
          =============================DEBUG ASSISTANCE=============================

      Problem with the CMake installation, aborting build. CMake executable is cmake
      [end of output]

Pip version: 24.0 glibc version: 2.35

I need to install with the option --no-binary for Azure Functools to build and upload correctly.

henryiii commented 2 months ago

Do you have ninja and/or make?