hwarden162 / cellgenerator

MIT License
0 stars 1 forks source link

Installation instructions #1

Open gwaybio opened 1 month ago

gwaybio commented 1 month ago

Thanks for releasing this work @hwarden162 - I'm wondering if you can provide installation instructions in the README?

I currently tried installing with poetry install and received the following error:

(cellgen) (base) waygr@CHAI-M-C02G83P cellgenerator % poetry install
The currently activated Python version 3.10.10 is not supported by the project (^3.13).
Trying to find and use a compatible version.
Using python3 (3.13.0)
Installing dependencies from lock file

Package operations: 1 install, 0 updates, 0 removals

  • Installing scipy (1.14.1): Failed

  ChefBuildError

  Backend subprocess exited when trying to invoke build_wheel

  + meson setup /private/var/folders/02/q30k_4wn2dqbz5pj_vvc8xn40000gp/T/tmpokab0f9r/scipy-1.14.1 /private/var/folders/02/q30k_4wn2dqbz5pj_vvc8xn40000gp/T/tmpokab0f9r/scipy-1.14.1/.mesonpy-zgxoejlu -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --native-file=/private/var/folders/02/q30k_4wn2dqbz5pj_vvc8xn40000gp/T/tmpokab0f9r/scipy-1.14.1/.mesonpy-zgxoejlu/meson-python-native-file.ini
  The Meson build system
  Version: 1.6.0
  Source dir: /private/var/folders/02/q30k_4wn2dqbz5pj_vvc8xn40000gp/T/tmpokab0f9r/scipy-1.14.1
  Build dir: /private/var/folders/02/q30k_4wn2dqbz5pj_vvc8xn40000gp/T/tmpokab0f9r/scipy-1.14.1/.mesonpy-zgxoejlu
  Build type: native build
  Project name: scipy
  Project version: 1.14.1
  C compiler for the host machine: arm64-apple-darwin20.0.0-clang (clang 16.0.6 "clang version 16.0.6")
  C linker for the host machine: arm64-apple-darwin20.0.0-clang ld64 609
  C++ compiler for the host machine: arm64-apple-darwin20.0.0-clang++ (clang 16.0.6 "clang version 16.0.6")
  C++ linker for the host machine: arm64-apple-darwin20.0.0-clang++ ld64 609
  Cython compiler for the host machine: cython (cython 3.0.11)
  Host machine cpu family: aarch64
  Host machine cpu: aarch64
  Program python found: YES (/private/var/folders/02/q30k_4wn2dqbz5pj_vvc8xn40000gp/T/tmpir34vr5_/.venv/bin/python)
  Found pkg-config: YES (/opt/homebrew/bin/pkg-config) 0.29.2
  Run-time dependency python found: YES 3.13
  Program cython found: YES (/var/folders/02/q30k_4wn2dqbz5pj_vvc8xn40000gp/T/tmpir34vr5_/.venv/bin/cython)
  Compiler for C supports arguments -Wno-unused-but-set-variable: YES
  Compiler for C supports arguments -Wno-unused-function: YES
  Compiler for C supports arguments -Wno-conversion: YES
  Compiler for C supports arguments -Wno-misleading-indentation: YES
  Library m found: YES
  Fortran compiler for the host machine: /Users/waygr/miniforge3/bin/arm64-apple-darwin20.0.0-gfortran (gcc 12.2.0 "GNU Fortran (GCC) 12.2.0")
  Fortran linker for the host machine: /Users/waygr/miniforge3/bin/arm64-apple-darwin20.0.0-gfortran ld64 609
  Compiler for Fortran supports arguments -Wno-conversion: YES
  Compiler for C supports link arguments -Wl,-ld_classic: NO
  Compiler for C supports link arguments -Wl,-dead_strip: YES
  Checking if "-Wl,--version-script" : links: NO
  Program tools/generate_f2pymod.py found: YES (/private/var/folders/02/q30k_4wn2dqbz5pj_vvc8xn40000gp/T/tmpir34vr5_/.venv/bin/python /private/var/folders/02/q30k_4wn2dqbz5pj_vvc8xn40000gp/T/tmpokab0f9r/scipy-1.14.1/tools/generate_f2pymod.py)
  Program scipy/_build_utils/tempita.py found: YES (/private/var/folders/02/q30k_4wn2dqbz5pj_vvc8xn40000gp/T/tmpir34vr5_/.venv/bin/python /private/var/folders/02/q30k_4wn2dqbz5pj_vvc8xn40000gp/T/tmpokab0f9r/scipy-1.14.1/scipy/_build_utils/tempita.py)
  Program pythran found: YES 0.16.1 0.16.1 (/var/folders/02/q30k_4wn2dqbz5pj_vvc8xn40000gp/T/tmpir34vr5_/.venv/bin/pythran)
  Found CMake: /opt/homebrew/bin/cmake (3.30.5)
  WARNING: CMake Toolchain: Failed to determine CMake compilers state
  Run-time dependency xsimd found: NO (tried pkgconfig, framework and cmake)
  Run-time dependency threads found: YES
  Library npymath found: YES
  pybind11-config found: YES (/var/folders/02/q30k_4wn2dqbz5pj_vvc8xn40000gp/T/tmpir34vr5_/.venv/bin/pybind11-config) 2.12.1
  Run-time dependency pybind11 found: YES 2.12.1
  Program f2py found: YES (/var/folders/02/q30k_4wn2dqbz5pj_vvc8xn40000gp/T/tmpir34vr5_/.venv/bin/f2py)
  Run-time dependency scipy-openblas found: NO (tried pkgconfig)
  Run-time dependency openblas found: NO (tried pkgconfig, framework and cmake)
  Run-time dependency openblas found: NO (tried pkgconfig, framework and cmake)

  ../scipy/meson.build:216:9: ERROR: Dependency "OpenBLAS" not found, tried pkgconfig, framework and cmake

  A full log can be found at /private/var/folders/02/q30k_4wn2dqbz5pj_vvc8xn40000gp/T/tmpokab0f9r/scipy-1.14.1/.mesonpy-zgxoejlu/meson-logs/meson-log.txt

  at ~/miniforge3/lib/python3.10/site-packages/poetry/installation/chef.py:147 in _prepare
      143│
      144│                 error = ChefBuildError("\n\n".join(message_parts))
      145│
      146│             if error is not None:
    → 147│                 raise error from None
      148│
      149│             return path
      150│
      151│     def _prepare_sdist(self, archive: Path, destination: Path | None = None) -> Path:

Note: This error originates from the build backend, and is likely not a problem with poetry but with scipy (1.14.1) not supporting PEP 517 builds. You can verify this by running 'pip wheel --use-pep517 "scipy (==1.14.1)"'.
hwarden162 commented 2 weeks ago

Sorry for late response I have been on leave! I will update the readme with more info on installation options and how to use the package soon. In the meantime it can be installed via pip directly from GitHub using pip install git+https://github.com/hwarden162/cellgenerator.git or if you have cloned it and are in the directory then you can install it using pip install -e ..

gwaybio commented 4 days ago

No worries @hwarden162 - I had time today to get back into this, but I am still receiving the same error message.

gwaybio commented 4 days ago

Maybe @d33bs can take a 6 min look? The answer might be Greg needs to update macOS

d33bs commented 4 days ago

Taking a look at the logs it looks like scipy may not have a build for python 3.13 on macos, and it's trying but failing to build from source through poetry. The python version constraints could be loosened within the pyproject.toml file to possibly avoid this with a prebuilt scipy.

gwaybio commented 2 days ago

Thanks @d33bs ! I relaxed the version constraints and it worked!

I think we can close this out after merging #2, but I'll leave the discussion open for now