Blosc/python-blosc2

pip install failure on ubuntu/popos 20

bkmartinjr opened this issue · 3 comments

Using:

$ pip -V
pip 21.1.1 from /home/bruce/projects/diffexp-playground/venv/lib/python3.8/site-packages/pip (python 3.8)

An error is generated when attempting to install blosc2 from pypi:

$ pip install blosc2
Collecting blosc2
  Downloading blosc2-0.1.1.tar.gz (1.8 MB)
     |████████████████████████████████| 1.8 MB 3.6 MB/s 
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  ERROR: Command errored out with exit status 1:
   command: /home/bruce/projects/diffexp-playground/venv/bin/python /home/bruce/projects/diffexp-playground/venv/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmp0h_a5ln5
       cwd: /tmp/pip-install-67g0rfgf/blosc2_2a32b130b04a48ad9981054e6619d174
  Complete output (18 lines):
  Traceback (most recent call last):
    File "/home/bruce/projects/diffexp-playground/venv/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 280, in <module>
      main()
    File "/home/bruce/projects/diffexp-playground/venv/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 263, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/home/bruce/projects/diffexp-playground/venv/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 114, in get_requires_for_build_wheel
      return hook(config_settings)
    File "/tmp/pip-build-env-qkyfpmft/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 154, in get_requires_for_build_wheel
      return self._get_build_requires(
    File "/tmp/pip-build-env-qkyfpmft/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 135, in _get_build_requires
      self.run_setup()
    File "/tmp/pip-build-env-qkyfpmft/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 258, in run_setup
      super(_BuildMetaLegacyBackend,
    File "/tmp/pip-build-env-qkyfpmft/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 150, in run_setup
      exec(compile(code, __file__, 'exec'), locals())
    File "setup.py", line 14, in <module>
      from skbuild import setup
  ModuleNotFoundError: No module named 'skbuild'
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/85/8b/c9e9a49d1c79b22455847899b7699ad87154a09eabcd0cd900f0bbc9f5af/blosc2-0.1.1.tar.gz#sha256=3f405c610c43c940e5e819f6f6a5e31158e18f24f14adf9ba2ea9d4ad94a5301 (from https://pypi.org/simple/blosc2/). Command errored out with exit status 1: /home/bruce/projects/diffexp-playground/venv/bin/python /home/bruce/projects/diffexp-playground/venv/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmp0h_a5ln5 Check the logs for full command output.
ERROR: Could not find a version that satisfies the requirement blosc2 (from versions: 0.1.1)
ERROR: No matching distribution found for blosc2

skbuild is installed (I did it manually):

$ pip freeze | grep scikit-build
scikit-build==0.11.1

I just tried the latest (v0.1.2) from pipy. It progresses further, but fails while trying to run cmake, with the error:

Could NOT find NumPy (missing: NumPy_INCLUDE_DIR) (found version "")

system info:

$ pip --version
pip 21.1.1 from /home/bruce/projects/diffexp-playground/venv/lib/python3.8/site-packages/pip (python 3.8)
$ cmake --version
cmake version 3.16.3
$ pip freeze | grep numpy
numpy==1.20.3

Full pip output:

$ pip install -U blosc2
Collecting blosc2
  Downloading blosc2-0.1.2.tar.gz (1.8 MB)
     |████████████████████████████████| 1.8 MB 3.8 MB/s 
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
    Preparing wheel metadata ... done
Building wheels for collected packages: blosc2
  Building wheel for blosc2 (PEP 517) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/bruce/projects/diffexp-playground/venv/bin/python /home/bruce/projects/diffexp-playground/venv/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmpocat5bj1
       cwd: /tmp/pip-install-2n0nu5gx/blosc2_1a0bfcf1fdae46369ffdba6b1c9f525c
  Complete output (82 lines):
  Not searching for unused variables given on the command line.
  -- The C compiler identification is GNU 10.2.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/bin/cc - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- The CXX compiler identification is GNU 10.2.0
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /usr/bin/c++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Configuring done
  -- Generating done
  -- Build files have been written to: /tmp/pip-install-2n0nu5gx/blosc2_1a0bfcf1fdae46369ffdba6b1c9f525c/_cmake_test_compile/build
  -- The C compiler identification is GNU 10.2.0
  -- The CXX compiler identification is GNU 10.2.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/bin/cc - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /usr/bin/c++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Found PythonInterp: /home/bruce/projects/diffexp-playground/venv/bin/python (found version "3.8.6")
  -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.8.so (found version "3.8.6")
  -- Found Cython: /tmp/pip-build-env-xcski9e4/normal/bin/cython
  CMake Error at /tmp/pip-build-env-xcski9e4/overlay/lib/python3.8/site-packages/cmake/data/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:165 (message):
    Could NOT find NumPy (missing: NumPy_INCLUDE_DIR) (found version "")
  Call Stack (most recent call first):
    /tmp/pip-build-env-xcski9e4/overlay/lib/python3.8/site-packages/cmake/data/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:458 (_FPHSA_FAILURE_MESSAGE)
    /tmp/pip-build-env-xcski9e4/overlay/lib/python3.8/site-packages/skbuild/resources/cmake/FindNumPy.cmake:98 (find_package_handle_standard_args)
    CMakeLists.txt:5 (find_package)
  
  
  -- Configuring incomplete, errors occurred!
  See also "/tmp/pip-install-2n0nu5gx/blosc2_1a0bfcf1fdae46369ffdba6b1c9f525c/_skbuild/linux-x86_64-3.8/cmake-build/CMakeFiles/CMakeOutput.log".
    File "/tmp/pip-build-env-xcski9e4/overlay/lib/python3.8/site-packages/skbuild/setuptools_wrap.py", line 582, in setup
      env = cmkr.configure(cmake_args,
    File "/tmp/pip-build-env-xcski9e4/overlay/lib/python3.8/site-packages/skbuild/cmaker.py", line 229, in configure
      raise SKBuildError(
  
  
  --------------------------------------------------------------------------------
  -- Trying "Ninja" generator
  --------------------------------
  ---------------------------
  ----------------------
  -----------------
  ------------
  -------
  --
  --
  -------
  ------------
  -----------------
  ----------------------
  ---------------------------
  --------------------------------
  -- Trying "Ninja" generator - success
  --------------------------------------------------------------------------------
  
  Configuring Project
    Working directory:
      /tmp/pip-install-2n0nu5gx/blosc2_1a0bfcf1fdae46369ffdba6b1c9f525c/_skbuild/linux-x86_64-3.8/cmake-build
    Command:
      cmake /tmp/pip-install-2n0nu5gx/blosc2_1a0bfcf1fdae46369ffdba6b1c9f525c -G Ninja -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pip-install-2n0nu5gx/blosc2_1a0bfcf1fdae46369ffdba6b1c9f525c/_skbuild/linux-x86_64-3.8/cmake-install -DPYTHON_EXECUTABLE:FILEPATH=/home/bruce/projects/diffexp-playground/venv/bin/python -DPYTHON_VERSION_STRING:STRING=3.8.6 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.8 -DPYTHON_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libpython3.8.so -DSKBUILD:BOOL=TRUE -DCMAKE_MODULE_PATH:PATH=/tmp/pip-build-env-xcski9e4/overlay/lib/python3.8/site-packages/skbuild/resources/cmake -DDEACTIVATE_SSE2:BOOL=OFF -DDEACTIVATE_AVX2:BOOL=OFF -DDEACTIVATE_LZ4:BOOL=OFF -DDEACTIVATE_ZLIB:BOOL=OFF -DDEACTIVATE_ZSTD:BOOL=OFF -DCMAKE_BUILD_TYPE:STRING=Release
  
  Traceback (most recent call last):
  
  An error occurred while configuring with CMake.
    Command:
      cmake /tmp/pip-install-2n0nu5gx/blosc2_1a0bfcf1fdae46369ffdba6b1c9f525c -G Ninja -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pip-install-2n0nu5gx/blosc2_1a0bfcf1fdae46369ffdba6b1c9f525c/_skbuild/linux-x86_64-3.8/cmake-install -DPYTHON_EXECUTABLE:FILEPATH=/home/bruce/projects/diffexp-playground/venv/bin/python -DPYTHON_VERSION_STRING:STRING=3.8.6 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.8 -DPYTHON_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libpython3.8.so -DSKBUILD:BOOL=TRUE -DCMAKE_MODULE_PATH:PATH=/tmp/pip-build-env-xcski9e4/overlay/lib/python3.8/site-packages/skbuild/resources/cmake -DDEACTIVATE_SSE2:BOOL=OFF -DDEACTIVATE_AVX2:BOOL=OFF -DDEACTIVATE_LZ4:BOOL=OFF -DDEACTIVATE_ZLIB:BOOL=OFF -DDEACTIVATE_ZSTD:BOOL=OFF -DCMAKE_BUILD_TYPE:STRING=Release
    Source directory:
      /tmp/pip-install-2n0nu5gx/blosc2_1a0bfcf1fdae46369ffdba6b1c9f525c
    Working directory:
      /tmp/pip-install-2n0nu5gx/blosc2_1a0bfcf1fdae46369ffdba6b1c9f525c/_skbuild/linux-x86_64-3.8/cmake-build
  Please see CMake's output for more information.
  ----------------------------------------
  ERROR: Failed building wheel for blosc2
Failed to build blosc2
ERROR: Could not build wheels for blosc2 which use PEP 517 and cannot be installed directly

Yup, thanks for reporting back. If you try now, this should be fixed in latest 0.1.5. Bonus: wheels are available :-)

Fantastic! Thanks so much for this incredibly useful package.