elephaint / pgbm

Probabilistic Gradient Boosting Machines
Apache License 2.0
143 stars 20 forks source link

python 3.11 support #25

Closed w1ll1a9m closed 9 months ago

w1ll1a9m commented 9 months ago

Currently I am able to use PGBM on python 3.8 and 3.9. however due to some other dependencies I need yo use PGBM on a project that runs on python 3.11. However, PGBM fails to install in python 3.11 using poetry or directly with pip

Describe the solution you'd like python 3.11 support

Describe alternatives you've considered none

Additional context I am running python 3.11 on OSX using and arm m2 processor. installing via poetry

please let me know if this feature is planned or considered in the future !

Thank you for your support and for the great package!

elephaint commented 9 months ago

Hi,

Thanks for reporting! What is the specific error you get? I'm looking into how to reproduce the error in the meantime.

w1ll1a9m commented 9 months ago

Yes of course this is the error I am getting:

` • Installing pgbm (2.2.0): Failed

ChefBuildError

Backend subprocess exited when trying to invoke build_wheel

running bdist_wheel running build running build_py creating build creating build/lib.macosx-14.1-arm64-cpython-311 creating build/lib.macosx-14.1-arm64-cpython-311/pgbm copying pgbm/init.py -> build/lib.macosx-14.1-arm64-cpython-311/pgbm running egg_info writing pgbm.egg-info/PKG-INFO writing dependency_links to pgbm.egg-info/dependency_links.txt writing requirements to pgbm.egg-info/requires.txt writing top-level names to pgbm.egg-info/top_level.txt dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/arrayobject.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/arrayscalars.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/ndarrayobject.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/ndarraytypes.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/ufuncobject.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/arrayobject.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/arrayscalars.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/ndarrayobject.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/ndarraytypes.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/ufuncobject.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/arrayobject.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/arrayscalars.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/ndarrayobject.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/ndarraytypes.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/ufuncobject.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/arrayobject.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/arrayscalars.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/ndarrayobject.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/ndarraytypes.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/ufuncobject.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/arrayobject.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/arrayscalars.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/ndarrayobject.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/ndarraytypes.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/ufuncobject.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/arrayobject.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/arrayscalars.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/ndarrayobject.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/ndarraytypes.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/ufuncobject.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/arrayobject.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/arrayscalars.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/ndarrayobject.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/ndarraytypes.h won't be automatically included in the manifest: the path must be relative dependency /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include/numpy/ufuncobject.h won't be automatically included in the manifest: the path must be relative reading manifest file 'pgbm.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files matching '*.pyc' found anywhere in distribution adding license file 'LICENSE' adding license file 'NOTICE' writing manifest file 'pgbm.egg-info/SOURCES.txt' /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/setuptools/command/build_py.py:207: _Warning: Package 'pgbm.sklearn' is absent from the packages configuration. !!

      ********************************************************************************
      ############################
      # Package would be ignored #
      ############################
      Python recognizes 'pgbm.sklearn' as an importable package[^1],
      but it is absent from setuptools' `packages` configuration.

      This leads to an ambiguous overall configuration. If you want to distribute this
      package, please make sure that 'pgbm.sklearn' is explicitly added
      to the `packages` configuration field.

      Alternatively, you can also rely on setuptools' discovery methods
      (for example by using `find_namespace_packages(...)`/`find_namespace:`
      instead of `find_packages(...)`/`find:`).

      You can read more about "package discovery" on setuptools documentation page:

      - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

      If you don't want 'pgbm.sklearn' to be distributed and are
      already explicitly excluding 'pgbm.sklearn' via
      `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
      you can try to use `exclude_package_data`, or `include-package-data=False` in
      combination with a more fine grained `package-data` configuration.

      You can read more about "package data files" on setuptools documentation page:

      - https://setuptools.pypa.io/en/latest/userguide/datafiles.html

      [^1]: For Python, any directory (with suitable naming) can be imported,
            even if it does not contain any `.py` files.
            On the other hand, currently there is no concept of package data
            directory, all directories are treated like packages.
      ********************************************************************************

!! check.warn(importable) /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/setuptools/command/build_py.py:207: _Warning: Package 'pgbm.sklearn.tests' is absent from the packages configuration. !!

      ********************************************************************************
      ############################
      # Package would be ignored #
      ############################
      Python recognizes 'pgbm.sklearn.tests' as an importable package[^1],
      but it is absent from setuptools' `packages` configuration.

      This leads to an ambiguous overall configuration. If you want to distribute this
      package, please make sure that 'pgbm.sklearn.tests' is explicitly added
      to the `packages` configuration field.

      Alternatively, you can also rely on setuptools' discovery methods
      (for example by using `find_namespace_packages(...)`/`find_namespace:`
      instead of `find_packages(...)`/`find:`).

      You can read more about "package discovery" on setuptools documentation page:

      - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

      If you don't want 'pgbm.sklearn.tests' to be distributed and are
      already explicitly excluding 'pgbm.sklearn.tests' via
      `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
      you can try to use `exclude_package_data`, or `include-package-data=False` in
      combination with a more fine grained `package-data` configuration.

      You can read more about "package data files" on setuptools documentation page:

      - https://setuptools.pypa.io/en/latest/userguide/datafiles.html

      [^1]: For Python, any directory (with suitable naming) can be imported,
            even if it does not contain any `.py` files.
            On the other hand, currently there is no concept of package data
            directory, all directories are treated like packages.
      ********************************************************************************

!! check.warn(importable) /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/setuptools/command/build_py.py:207: _Warning: Package 'pgbm.torch' is absent from the packages configuration. !!

      ********************************************************************************
      ############################
      # Package would be ignored #
      ############################
      Python recognizes 'pgbm.torch' as an importable package[^1],
      but it is absent from setuptools' `packages` configuration.

      This leads to an ambiguous overall configuration. If you want to distribute this
      package, please make sure that 'pgbm.torch' is explicitly added
      to the `packages` configuration field.

      Alternatively, you can also rely on setuptools' discovery methods
      (for example by using `find_namespace_packages(...)`/`find_namespace:`
      instead of `find_packages(...)`/`find:`).

      You can read more about "package discovery" on setuptools documentation page:

      - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

      If you don't want 'pgbm.torch' to be distributed and are
      already explicitly excluding 'pgbm.torch' via
      `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
      you can try to use `exclude_package_data`, or `include-package-data=False` in
      combination with a more fine grained `package-data` configuration.

      You can read more about "package data files" on setuptools documentation page:

      - https://setuptools.pypa.io/en/latest/userguide/datafiles.html

      [^1]: For Python, any directory (with suitable naming) can be imported,
            even if it does not contain any `.py` files.
            On the other hand, currently there is no concept of package data
            directory, all directories are treated like packages.
      ********************************************************************************

!! check.warn(importable) /var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/setuptools/command/build_py.py:207: _Warning: Package 'pgbm.torch.tests' is absent from the packages configuration. !!

      ********************************************************************************
      ############################
      # Package would be ignored #
      ############################
      Python recognizes 'pgbm.torch.tests' as an importable package[^1],
      but it is absent from setuptools' `packages` configuration.

      This leads to an ambiguous overall configuration. If you want to distribute this
      package, please make sure that 'pgbm.torch.tests' is explicitly added
      to the `packages` configuration field.

      Alternatively, you can also rely on setuptools' discovery methods
      (for example by using `find_namespace_packages(...)`/`find_namespace:`
      instead of `find_packages(...)`/`find:`).

      You can read more about "package discovery" on setuptools documentation page:

      - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

      If you don't want 'pgbm.torch.tests' to be distributed and are
      already explicitly excluding 'pgbm.torch.tests' via
      `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
      you can try to use `exclude_package_data`, or `include-package-data=False` in
      combination with a more fine grained `package-data` configuration.

      You can read more about "package data files" on setuptools documentation page:

      - https://setuptools.pypa.io/en/latest/userguide/datafiles.html

      [^1]: For Python, any directory (with suitable naming) can be imported,
            even if it does not contain any `.py` files.
            On the other hand, currently there is no concept of package data
            directory, all directories are treated like packages.
      ********************************************************************************

!! check.warn(importable) creating build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn copying pgbm/sklearn/init.py -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn copying pgbm/sklearn/_binning.c -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn copying pgbm/sklearn/_binning.pyx -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn copying pgbm/sklearn/_bitset.c -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn copying pgbm/sklearn/_bitset.pyx -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn copying pgbm/sklearn/_gradient_boosting.c -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn copying pgbm/sklearn/_gradient_boosting.pyx -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn copying pgbm/sklearn/_predictor.c -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn copying pgbm/sklearn/_predictor.pyx -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn copying pgbm/sklearn/binning.py -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn copying pgbm/sklearn/common.c -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn copying pgbm/sklearn/common.pyx -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn copying pgbm/sklearn/distributions.py -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn copying pgbm/sklearn/gradient_boosting.py -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn copying pgbm/sklearn/grower.py -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn copying pgbm/sklearn/histogram.c -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn copying pgbm/sklearn/histogram.pyx -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn copying pgbm/sklearn/predictor.py -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn copying pgbm/sklearn/splitting.c -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn copying pgbm/sklearn/splitting.pyx -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn copying pgbm/sklearn/utils.c -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn copying pgbm/sklearn/utils.pyx -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn creating build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn/tests copying pgbm/sklearn/tests/init.py -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn/tests copying pgbm/sklearn/tests/test_binning.py -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn/tests copying pgbm/sklearn/tests/test_bitset.py -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn/tests copying pgbm/sklearn/tests/test_compare_lightgbm.py -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn/tests copying pgbm/sklearn/tests/test_estimator.py -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn/tests copying pgbm/sklearn/tests/test_gradient_boosting.py -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn/tests copying pgbm/sklearn/tests/test_grower.py -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn/tests copying pgbm/sklearn/tests/test_histogram.py -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn/tests copying pgbm/sklearn/tests/test_monotonic_contraints.py -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn/tests copying pgbm/sklearn/tests/test_predictor.py -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn/tests copying pgbm/sklearn/tests/test_splitting.py -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn/tests copying pgbm/sklearn/tests/test_warm_start.py -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/sklearn/tests creating build/lib.macosx-14.1-arm64-cpython-311/pgbm/torch copying pgbm/torch/init.py -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/torch copying pgbm/torch/pgbm.py -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/torch copying pgbm/torch/pgbm_dist.py -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/torch copying pgbm/torch/splitgain_cpu.cpp -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/torch copying pgbm/torch/splitgain_cuda.cpp -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/torch copying pgbm/torch/splitgain_kernel.cu -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/torch creating build/lib.macosx-14.1-arm64-cpython-311/pgbm/torch/tests copying pgbm/torch/tests/init.py -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/torch/tests copying pgbm/torch/tests/test_estimator.py -> build/lib.macosx-14.1-arm64-cpython-311/pgbm/torch/tests running build_ext building 'pgbm.sklearn._gradient_boosting' extension creating build/temp.macosx-14.1-arm64-cpython-311 creating build/temp.macosx-14.1-arm64-cpython-311/pgbm creating build/temp.macosx-14.1-arm64-cpython-311/pgbm/sklearn clang -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/opt/homebrew/Cellar/unixodbc/2.3.11/include -DNPY_NO_DEPRECATED_API=NPY_1_9_API_VERSION -I/var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/lib/python3.11/site-packages/numpy/core/include -I/var/folders/n5/d2p489454175km4nfkdmq1l40000gq/T/tmpoch99rva/.venv/include -I/Users/klm95433/.pyenv/versions/3.11.6/include/python3.11 -c pgbm/sklearn/_gradient_boosting.c -o build/temp.macosx-14.1-arm64-cpython-311/pgbm/sklearn/_gradient_boosting.o -fopenmp -O3 clang: error: unsupported option '-fopenmp' error: command '/usr/bin/clang' failed with exit code 1

at ~/Library/Application Support/pypoetry/venv/lib/python3.9/site-packages/poetry/installation/chef.py:164 in _prepare 160│ 161│ error = ChefBuildError("\n\n".join(message_parts)) 162│ 163│ if error is not None: → 164│ raise error from None 165│ 166│ return path 167│ 168│ 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 pgbm (2.2.0) not supporting PEP 517 builds. You can verify this by running 'pip wheel --no-cache-dir --use-pep517 "pgbm (==2.2.0)"'. `

elephaint commented 9 months ago

Thanks - I think the issue is due to the absence of libomp on your installation. And that is due to the fact that you need to build from source as pgbm does not have a pre-built wheel for M2 silicon (as Github does not support it and I don't have such a machine unfortunately).

The fix for you now seems to be to follow the steps under MacOS compilers from Homebrew. I'll repeat the relevant steps below:

If the last step might give another issue, try pip install -v --no-use-pep517 pgbm

Hope this helps; In the meanwhile I'm looking into ways of emulating your machine because it's hard to debug if I can't work on the same silicon/OS/python environment.

elephaint commented 9 months ago

I've released pre-built wheels for Python 3.11, also for MacOS-X ARM64. This should make it easier and allow you to only have to do pip install pgbm, not requiring you to install/build from source.

Let me know if this solves the issue for you.

w1ll1a9m commented 9 months ago

This indeed fixes my issues. thank you very much!