AI4Finance-Foundation / FinRL

FinRL: Financial Reinforcement Learning. 🔥
https://ai4finance.org
MIT License
9.71k stars 2.36k forks source link

Installation issues in installing finrl on Ubuntu 22.04 on aarch64 #1142

Open FabioMD1972 opened 9 months ago

FabioMD1972 commented 9 months ago

Describe the bug Error during installation. Already looked at this issue.

To Reproduce Distributor ID: Ubuntu Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammy Linux ubuntuonmac 5.15.0-91-generic #101-Ubuntu SMP Tue Nov 14 13:29:11 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux

  1. Create new environment using: conda create --name env_frl_py3_10 python==3.10
  2. Activete it:conda activate env_frl_py3_10
  3. Install foundation: pip install git+https://github.com/AI4Finance-Foundation/FinRL.git

Error ...dropped, too long... Cython.Compiler.Errors.CompileError: sklearn/svm/_liblinear.pyx

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
      if error_msg:
          # for SVR: epsilon is called p in libsvm
          error_repl = error_msg.decode('utf-8').replace("p < 0", "epsilon < 0")
          raise ValueError(error_repl)
      cdef BlasFunctions blas_functions
      blas_functions.dot = _dot[double]
                               ^
  ------------------------------------------------------------

  sklearn/svm/_libsvm.pyx:194:29: Cannot assign type 'double (int, double *, int, double *, int) except * nogil' to 'dot_func'. Exception values are incompatible. Suggest adding 'noexcept' to type 'double (int, double *, int, double *, int) except * nogil'.

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
                         class_weight_label.data, class_weight.data)
      model = set_model(&param, <int> nSV.shape[0], SV.data, SV.shape,
                        support.data, support.shape, sv_coef.strides,
                        sv_coef.data, intercept.data, nSV.data, probA.data, probB.data)
      cdef BlasFunctions blas_functions
      blas_functions.dot = _dot[double]
                               ^
  ------------------------------------------------------------

  sklearn/svm/_libsvm.pyx:358:29: Cannot assign type 'double (int, double *, int, double *, int) except * nogil' to 'dot_func'. Exception values are incompatible. Suggest adding 'noexcept' to type 'double (int, double *, int, double *, int) except * nogil'.

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
                        sv_coef.data, intercept.data, nSV.data,
                        probA.data, probB.data)

      cdef np.npy_intp n_class = get_nr(model)
      cdef BlasFunctions blas_functions
      blas_functions.dot = _dot[double]
                               ^
  ------------------------------------------------------------

  sklearn/svm/_libsvm.pyx:464:29: Cannot assign type 'double (int, double *, int, double *, int) except * nogil' to 'dot_func'. Exception values are incompatible. Suggest adding 'noexcept' to type 'double (int, double *, int, double *, int) except * nogil'.

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
          n_class = 1
      else:
          n_class = get_nr(model)
          n_class = n_class * (n_class - 1) // 2
      cdef BlasFunctions blas_functions
      blas_functions.dot = _dot[double]
                               ^
  ------------------------------------------------------------

  sklearn/svm/_libsvm.pyx:570:29: Cannot assign type 'double (int, double *, int, double *, int) except * nogil' to 'dot_func'. Exception values are incompatible. Suggest adding 'noexcept' to type 'double (int, double *, int, double *, int) except * nogil'.

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
      if error_msg:
          raise ValueError(error_msg)

      cdef np.ndarray[np.float64_t, ndim=1, mode='c'] target
      cdef BlasFunctions blas_functions
      blas_functions.dot = _dot[double]
                               ^
  ------------------------------------------------------------

  sklearn/svm/_libsvm.pyx:714:29: Cannot assign type 'double (int, double *, int, double *, int) except * nogil' to 'dot_func'. Exception values are incompatible. Suggest adding 'noexcept' to type 'double (int, double *, int, double *, int) except * nogil'.
  Traceback (most recent call last):
    File "/tmp/pip-build-env-eoo56xj6/overlay/lib/python3.10/site-packages/Cython/Build/Dependencies.py", line 1345, in cythonize_one_helper
      return cythonize_one(*m)
    File "/tmp/pip-build-env-eoo56xj6/overlay/lib/python3.10/site-packages/Cython/Build/Dependencies.py", line 1321, in cythonize_one
      raise CompileError(None, pyx_file)
  Cython.Compiler.Errors.CompileError: sklearn/svm/_libsvm.pyx

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
      if error_msg:
          free_problem(problem)
          free_param(param)
          raise ValueError(error_msg)
      cdef BlasFunctions blas_functions
      blas_functions.dot = _dot[double]
                               ^
  ------------------------------------------------------------

  sklearn/svm/_libsvm_sparse.pyx:153:29: Cannot assign type 'double (int, double *, int, double *, int) except * nogil' to 'dot_func'. Exception values are incompatible. Suggest adding 'noexcept' to type 'double (int, double *, int, double *, int) except * nogil'.

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
                            sv_coef.data, intercept.data,
                            nSV.data, probA.data, probB.data)
      #TODO: use check_model
      dec_values = np.empty(T_indptr.shape[0]-1)
      cdef BlasFunctions blas_functions
      blas_functions.dot = _dot[double]
                               ^
  ------------------------------------------------------------

  sklearn/svm/_libsvm_sparse.pyx:284:29: Cannot assign type 'double (int, double *, int, double *, int) except * nogil' to 'dot_func'. Exception values are incompatible. Suggest adding 'noexcept' to type 'double (int, double *, int, double *, int) except * nogil'.

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
      #TODO: use check_model
      cdef np.npy_intp n_class = get_nr(model)
      cdef int rv
      dec_values = np.empty((T_indptr.shape[0]-1, n_class), dtype=np.float64)
      cdef BlasFunctions blas_functions
      blas_functions.dot = _dot[double]
                               ^
  ------------------------------------------------------------

  sklearn/svm/_libsvm_sparse.pyx:343:29: Cannot assign type 'double (int, double *, int, double *, int) except * nogil' to 'dot_func'. Exception values are incompatible. Suggest adding 'noexcept' to type 'double (int, double *, int, double *, int) except * nogil'.

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
          n_class = get_nr(model)
          n_class = n_class * (n_class - 1) // 2

      dec_values = np.empty((T_indptr.shape[0] - 1, n_class), dtype=np.float64)
      cdef BlasFunctions blas_functions
      blas_functions.dot = _dot[double]
                               ^
  ------------------------------------------------------------

  sklearn/svm/_libsvm_sparse.pyx:412:29: Cannot assign type 'double (int, double *, int, double *, int) except * nogil' to 'dot_func'. Exception values are incompatible. Suggest adding 'noexcept' to type 'double (int, double *, int, double *, int) except * nogil'.
  Traceback (most recent call last):
    File "/tmp/pip-build-env-eoo56xj6/overlay/lib/python3.10/site-packages/Cython/Build/Dependencies.py", line 1345, in cythonize_one_helper
      return cythonize_one(*m)
    File "/tmp/pip-build-env-eoo56xj6/overlay/lib/python3.10/site-packages/Cython/Build/Dependencies.py", line 1321, in cythonize_one
      raise CompileError(None, pyx_file)
  Cython.Compiler.Errors.CompileError: sklearn/svm/_libsvm_sparse.pyx
  warning: sklearn/tree/_criterion.pxd:57:45: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_criterion.pxd:58:40: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_criterion.pxd:59:48: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_criterion.pxd:60:57: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_tree.pxd:61:73: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_tree.pxd:62:59: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_tree.pxd:63:63: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_splitter.pxd:84:72: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_splitter.pxd:89:68: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_criterion.pyx:61:45: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_criterion.pyx:86:40: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_criterion.pyx:93:48: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_criterion.pyx:100:57: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_criterion.pyx:282:76: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_criterion.pyx:348:40: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_criterion.pyx:375:48: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_criterion.pyx:402:57: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_criterion.pyx:744:45: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_criterion.pyx:788:40: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_criterion.pyx:799:48: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_criterion.pyx:810:57: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_criterion.pyx:1032:45: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_criterion.pyx:1082:40: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_criterion.pyx:1113:48: The keyword 'nogil' should appear at the end of the function signature line. 
  Traceback (most recent call last):
    File "/tmp/pip-build-env-eoo56xj6/overlay/lib/python3.10/site-packages/Cython/Build/Dependencies.py", line 1345, in cythonize_one_helper
      return cythonize_one(*m)
    File "/tmp/pip-build-env-eoo56xj6/overlay/lib/python3.10/site-packages/Cython/Build/Dependencies.py", line 1321, in cythonize_one
      raise CompileError(None, pyx_file)
  Cython.Compiler.Errors.CompileError: sklearn/tree/_splitter.pyx
  warning: sklearn/tree/_tree.pxd:61:73: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_tree.pxd:62:59: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_tree.pxd:63:63: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_splitter.pxd:84:72: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_splitter.pxd:89:68: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_criterion.pxd:57:45: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_criterion.pxd:58:40: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_criterion.pxd:59:48: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_criterion.pxd:60:57: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_tree.pyx:269:71: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_tree.pyx:416:76: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_tree.pyx:673:59: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_tree.pyx:685:70: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_tree.pyx:719:73: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_utils.pxd:49:75: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_utils.pxd:87:61: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_utils.pxd:119:56: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_utils.pxd:137:40: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_utils.pxd:139:71: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_utils.pxd:160:71: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_utils.pxd:161:40: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/neighbors/_quad_tree.pxd:76:59: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/neighbors/_quad_tree.pxd:95:51: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/neighbors/_quad_tree.pxd:98:59: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/neighbors/_quad_tree.pxd:99:63: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/neighbors/_quad_tree.pxd:100:80: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.

  Error compiling Cython file:
  ------------------------------------------------------------
  ...

          # Initial capacity
          cdef int init_capacity

          if tree.max_depth <= 10:
              init_capacity = (2 ** (tree.max_depth + 1)) - 1
                                                          ^
  ------------------------------------------------------------

  sklearn/tree/_tree.pyx:148:56: Cannot assign type 'double' to 'int'
  Traceback (most recent call last):
    File "/tmp/pip-build-env-eoo56xj6/overlay/lib/python3.10/site-packages/Cython/Build/Dependencies.py", line 1345, in cythonize_one_helper
      return cythonize_one(*m)
    File "/tmp/pip-build-env-eoo56xj6/overlay/lib/python3.10/site-packages/Cython/Build/Dependencies.py", line 1321, in cythonize_one
      raise CompileError(None, pyx_file)
  Cython.Compiler.Errors.CompileError: sklearn/tree/_tree.pyx
  warning: sklearn/tree/_utils.pxd:49:75: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_utils.pxd:87:61: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_utils.pxd:119:56: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_utils.pxd:137:40: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_utils.pxd:139:71: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_utils.pxd:160:71: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_utils.pxd:161:40: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_tree.pxd:61:73: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_tree.pxd:62:59: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_tree.pxd:63:63: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_splitter.pxd:84:72: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_splitter.pxd:89:68: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_criterion.pxd:57:45: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_criterion.pxd:58:40: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_criterion.pxd:59:48: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_criterion.pxd:60:57: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/neighbors/_quad_tree.pxd:76:59: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/neighbors/_quad_tree.pxd:95:51: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/neighbors/_quad_tree.pxd:98:59: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/neighbors/_quad_tree.pxd:99:63: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/neighbors/_quad_tree.pxd:100:80: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_utils.pyx:29:75: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_utils.pyx:114:61: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_utils.pyx:230:56: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_utils.pyx:318:40: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_utils.pyx:335:71: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_utils.pyx:493:40: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  warning: sklearn/tree/_utils.pyx:507:71: The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
  performance hint: sklearn/tree/_utils.pyx:29:5: Exception check on 'safe_realloc' will always require the GIL to be acquired. Declare 'safe_realloc' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:127:24: Exception check after calling '__pyx_fuse_9safe_realloc' will always require the GIL to be acquired. Declare '__pyx_fuse_9safe_realloc' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:205:27: Exception check after calling 'heapify_up' will always require the GIL to be acquired.
  Possible solutions:
      1. Declare 'heapify_up' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
      2. Use an 'int' return type on 'heapify_up' to allow an error code to be returned.
  performance hint: sklearn/tree/_utils.pyx:225:29: Exception check after calling 'heapify_down' will always require the GIL to be acquired.
  Possible solutions:
      1. Declare 'heapify_down' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
      2. Use an 'int' return type on 'heapify_down' to allow an error code to be returned.
  performance hint: sklearn/tree/_utils.pyx:243:24: Exception check after calling '__pyx_fuse_10safe_realloc' will always require the GIL to be acquired. Declare '__pyx_fuse_10safe_realloc' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:259:23: Exception check after calling 'heapify_up' will always require the GIL to be acquired.
  Possible solutions:
      1. Declare 'heapify_up' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
      2. Use an 'int' return type on 'heapify_up' to allow an error code to be returned.
  performance hint: sklearn/tree/_utils.pyx:281:29: Exception check after calling 'heapify_down' will always require the GIL to be acquired.
  Possible solutions:
      1. Declare 'heapify_down' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
      2. Use an 'int' return type on 'heapify_down' to allow an error code to be returned.
  performance hint: sklearn/tree/_utils.pyx:326:20: Exception check after calling '__pyx_fuse_3safe_realloc' will always require the GIL to be acquired. Declare '__pyx_fuse_3safe_realloc' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:349:24: Exception check after calling '__pyx_fuse_3safe_realloc' will always require the GIL to be acquired. Declare '__pyx_fuse_3safe_realloc' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:491:32: Exception check after calling 'size' will always require the GIL to be acquired. Declare 'size' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:516:20: Exception check after calling 'size' will always require the GIL to be acquired. Declare 'size' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:517:45: Exception check after calling 'get_median' will always require the GIL to be acquired. Declare 'get_median' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:520:47: Exception check after calling 'update_median_parameters_post_push' will always require the GIL to be acquired. Declare 'update_median_parameters_post_push' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:531:20: Exception check after calling 'size' will always require the GIL to be acquired. Declare 'size' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:551:69: Exception check after calling 'get_weight_from_index' will always require the GIL to be acquired. Declare 'get_weight_from_index' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:554:68: Exception check after calling 'get_weight_from_index' will always require the GIL to be acquired. Declare 'get_weight_from_index' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:560:44: Exception check after calling 'size' will always require the GIL to be acquired. Declare 'size' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:563:68: Exception check after calling 'get_weight_from_index' will always require the GIL to be acquired. Declare 'get_weight_from_index' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:573:20: Exception check after calling 'size' will always require the GIL to be acquired. Declare 'size' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:574:45: Exception check after calling 'get_median' will always require the GIL to be acquired. Declare 'get_median' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:576:42: Exception check after calling 'remove' will always require the GIL to be acquired. Declare 'remove' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:577:49: Exception check after calling 'update_median_parameters_post_remove' will always require the GIL to be acquired. Declare 'update_median_parameters_post_remove' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:588:20: Exception check after calling 'size' will always require the GIL to be acquired. Declare 'size' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:589:45: Exception check after calling 'get_median' will always require the GIL to be acquired. Declare 'get_median' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:592:28: Exception check after calling 'size' will always require the GIL to be acquired. Declare 'size' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:595:39: Exception check after calling 'pop' will always require the GIL to be acquired. Declare 'pop' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:596:49: Exception check after calling 'update_median_parameters_post_remove' will always require the GIL to be acquired. Declare 'update_median_parameters_post_remove' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:607:28: Exception check after calling 'size' will always require the GIL to be acquired. Declare 'size' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:614:28: Exception check after calling 'size' will always require the GIL to be acquired. Declare 'size' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:635:44: Exception check after calling 'size' will always require the GIL to be acquired. Declare 'size' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:638:68: Exception check after calling 'get_weight_from_index' will always require the GIL to be acquired. Declare 'get_weight_from_index' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:645:69: Exception check after calling 'get_weight_from_index' will always require the GIL to be acquired. Declare 'get_weight_from_index' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:648:68: Exception check after calling 'get_weight_from_index' will always require the GIL to be acquired. Declare 'get_weight_from_index' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:656:53: Exception check after calling 'get_value_from_index' will always require the GIL to be acquired. Declare 'get_value_from_index' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:657:53: Exception check after calling 'get_value_from_index' will always require the GIL to be acquired. Declare 'get_value_from_index' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/tree/_utils.pyx:660:52: Exception check after calling 'get_value_from_index' will always require the GIL to be acquired. Declare 'get_value_from_index' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/utils/_cython_blas.pyx:20:5: Exception check on '_dot' will always require the GIL to be acquired. Declare '_dot' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/utils/_cython_blas.pyx:33:5: Exception check on '_asum' will always require the GIL to be acquired. Declare '_asum' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/utils/_cython_blas.pyx:45:5: Exception check on '_axpy' will always require the GIL to be acquired.
  Possible solutions:
      1. Declare '_axpy' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
      2. Use an 'int' return type on '_axpy' to allow an error code to be returned.
  performance hint: sklearn/utils/_cython_blas.pyx:58:5: Exception check on '_nrm2' will always require the GIL to be acquired. Declare '_nrm2' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/utils/_cython_blas.pyx:70:5: Exception check on '_copy' will always require the GIL to be acquired.
  Possible solutions:
      1. Declare '_copy' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
      2. Use an 'int' return type on '_copy' to allow an error code to be returned.
  performance hint: sklearn/utils/_cython_blas.pyx:82:5: Exception check on '_scal' will always require the GIL to be acquired.
  Possible solutions:
      1. Declare '_scal' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
      2. Use an 'int' return type on '_scal' to allow an error code to be returned.
  performance hint: sklearn/utils/_cython_blas.pyx:94:5: Exception check on '_rotg' will always require the GIL to be acquired.
  Possible solutions:
      1. Declare '_rotg' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
      2. Use an 'int' return type on '_rotg' to allow an error code to be returned.
  performance hint: sklearn/utils/_cython_blas.pyx:107:5: Exception check on '_rot' will always require the GIL to be acquired.
  Possible solutions:
      1. Declare '_rot' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
      2. Use an 'int' return type on '_rot' to allow an error code to be returned.
  performance hint: sklearn/utils/_cython_blas.pyx:124:5: Exception check on '_gemv' will always require the GIL to be acquired.
  Possible solutions:
      1. Declare '_gemv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
      2. Use an 'int' return type on '_gemv' to allow an error code to be returned.
  performance hint: sklearn/utils/_cython_blas.pyx:153:5: Exception check on '_ger' will always require the GIL to be acquired.
  Possible solutions:
      1. Declare '_ger' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
      2. Use an 'int' return type on '_ger' to allow an error code to be returned.
  performance hint: sklearn/utils/_cython_blas.pyx:183:5: Exception check on '_gemm' will always require the GIL to be acquired.
  Possible solutions:
      1. Declare '_gemm' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
      2. Use an 'int' return type on '_gemm' to allow an error code to be returned.

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
          dec(end)
          # Construct our arguments
          cdef pair[ITYPE_t, DTYPE_t] args
          args.first = key
          args.second = value
          self.my_map.insert(end, args)
                             ^
  ------------------------------------------------------------

  sklearn/utils/_fast_dict.pyx:138:27: Cannot assign type 'iterator' to 'const_iterator'
  Traceback (most recent call last):
    File "/tmp/pip-build-env-eoo56xj6/overlay/lib/python3.10/site-packages/Cython/Build/Dependencies.py", line 1345, in cythonize_one_helper
      return cythonize_one(*m)
    File "/tmp/pip-build-env-eoo56xj6/overlay/lib/python3.10/site-packages/Cython/Build/Dependencies.py", line 1321, in cythonize_one
      raise CompileError(None, pyx_file)
  Cython.Compiler.Errors.CompileError: sklearn/utils/_fast_dict.pyx
  warning: sklearn/utils/_openmp_helpers.pyx:1:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
  warning: sklearn/utils/_openmp_helpers.pyx:44:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
  performance hint: sklearn/utils/_seq_dataset.pyx:80:53: Exception check after calling '_get_next_index' will always require the GIL to be acquired. Declare '_get_next_index' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/utils/_seq_dataset.pyx:81:20: Exception check after calling '_sample' will always require the GIL to be acquired.
  Possible solutions:
      1. Declare '_sample' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
      2. Use an 'int' return type on '_sample' to allow an error code to be returned.
  performance hint: sklearn/utils/_seq_dataset.pyx:117:55: Exception check after calling '_get_random_index' will always require the GIL to be acquired. Declare '_get_random_index' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/utils/_seq_dataset.pyx:118:20: Exception check after calling '_sample' will always require the GIL to be acquired.
  Possible solutions:
      1. Declare '_sample' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
      2. Use an 'int' return type on '_sample' to allow an error code to be returned.
  performance hint: sklearn/utils/_seq_dataset.pyx:405:53: Exception check after calling '_get_next_index' will always require the GIL to be acquired. Declare '_get_next_index' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/utils/_seq_dataset.pyx:406:20: Exception check after calling '_sample' will always require the GIL to be acquired.
  Possible solutions:
      1. Declare '_sample' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
      2. Use an 'int' return type on '_sample' to allow an error code to be returned.
  performance hint: sklearn/utils/_seq_dataset.pyx:442:55: Exception check after calling '_get_random_index' will always require the GIL to be acquired. Declare '_get_random_index' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
  performance hint: sklearn/utils/_seq_dataset.pyx:443:20: Exception check after calling '_sample' will always require the GIL to be acquired.
  Possible solutions:
      1. Declare '_sample' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
      2. Use an 'int' return type on '_sample' to allow an error code to be returned.
  performance hint: sklearn/utils/_weight_vector.pyx:183:29: Exception check after calling 'reset_wscale' will always require the GIL to be acquired.
  Possible solutions:
      1. Declare 'reset_wscale' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
      2. Use an 'int' return type on 'reset_wscale' to allow an error code to be returned.
  performance hint: sklearn/utils/_weight_vector.pyx:188:17: Exception check after calling '__pyx_fuse_1_axpy' will always require the GIL to be acquired.
  Possible solutions:
      1. Declare '__pyx_fuse_1_axpy' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
      2. Use an 'int' return type on '__pyx_fuse_1_axpy' to allow an error code to be returned.
  performance hint: sklearn/utils/_weight_vector.pyx:190:17: Exception check after calling '__pyx_fuse_1_scal' will always require the GIL to be acquired.
  Possible solutions:
      1. Declare '__pyx_fuse_1_scal' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
      2. Use an 'int' return type on '__pyx_fuse_1_scal' to allow an error code to be returned.
  performance hint: sklearn/utils/_weight_vector.pyx:194:13: Exception check after calling '__pyx_fuse_1_scal' will always require the GIL to be acquired.
  Possible solutions:
      1. Declare '__pyx_fuse_1_scal' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
      2. Use an 'int' return type on '__pyx_fuse_1_scal' to allow an error code to be returned.
  performance hint: sklearn/utils/_weight_vector.pyx:356:29: Exception check after calling 'reset_wscale' will always require the GIL to be acquired.
  Possible solutions:
      1. Declare 'reset_wscale' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
      2. Use an 'int' return type on 'reset_wscale' to allow an error code to be returned.
  performance hint: sklearn/utils/_weight_vector.pyx:361:17: Exception check after calling '__pyx_fuse_0_axpy' will always require the GIL to be acquired.
  Possible solutions:
      1. Declare '__pyx_fuse_0_axpy' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
      2. Use an 'int' return type on '__pyx_fuse_0_axpy' to allow an error code to be returned.
  performance hint: sklearn/utils/_weight_vector.pyx:363:17: Exception check after calling '__pyx_fuse_0_scal' will always require the GIL to be acquired.
  Possible solutions:
      1. Declare '__pyx_fuse_0_scal' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
      2. Use an 'int' return type on '__pyx_fuse_0_scal' to allow an error code to be returned.
  performance hint: sklearn/utils/_weight_vector.pyx:367:13: Exception check after calling '__pyx_fuse_0_scal' will always require the GIL to be acquired.
  Possible solutions:
      1. Declare '__pyx_fuse_0_scal' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
      2. Use an 'int' return type on '__pyx_fuse_0_scal' to allow an error code to be returned.
  multiprocessing.pool.RemoteTraceback:
  """
  Traceback (most recent call last):
    File "/home/fabio/miniconda3/envs/env_frl_py3_10/lib/python3.10/multiprocessing/pool.py", line 125, in worker
      result = (True, func(*args, **kwds))
    File "/home/fabio/miniconda3/envs/env_frl_py3_10/lib/python3.10/multiprocessing/pool.py", line 48, in mapstar
      return list(map(*args))
    File "/tmp/pip-build-env-eoo56xj6/overlay/lib/python3.10/site-packages/Cython/Build/Dependencies.py", line 1345, in cythonize_one_helper
      return cythonize_one(*m)
    File "/tmp/pip-build-env-eoo56xj6/overlay/lib/python3.10/site-packages/Cython/Build/Dependencies.py", line 1321, in cythonize_one
      raise CompileError(None, pyx_file)
  Cython.Compiler.Errors.CompileError: sklearn/ensemble/_hist_gradient_boosting/splitting.pyx
  """

  The above exception was the direct cause of the following exception:

  Traceback (most recent call last):
    File "/home/fabio/.local/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
  [ 1/55] Cythonizing sklearn/__check_build/_check_build.pyx
  [ 2/55] Cythonizing sklearn/_isotonic.pyx
  [ 3/55] Cythonizing sklearn/cluster/_dbscan_inner.pyx
  [ 4/55] Cythonizing sklearn/cluster/_hierarchical_fast.pyx
  [ 5/55] Cythonizing sklearn/cluster/_k_means_common.pyx
  [ 6/55] Cythonizing sklearn/cluster/_k_means_elkan.pyx
  [ 7/55] Cythonizing sklearn/cluster/_k_means_lloyd.pyx
  [ 8/55] Cythonizing sklearn/cluster/_k_means_minibatch.pyx
  [ 9/55] Cythonizing sklearn/datasets/_svmlight_format_fast.pyx
  [10/55] Cythonizing sklearn/decomposition/_cdnmf_fast.pyx
  [11/55] Cythonizing sklearn/decomposition/_online_lda_fast.pyx
  [12/55] Cythonizing sklearn/ensemble/_gradient_boosting.pyx
  [13/55] Cythonizing sklearn/ensemble/_hist_gradient_boosting/_binning.pyx
  [14/55] Cythonizing sklearn/ensemble/_hist_gradient_boosting/_bitset.pyx
  [15/55] Cythonizing sklearn/ensemble/_hist_gradient_boosting/_gradient_boosting.pyx
  [16/55] Cythonizing sklearn/ensemble/_hist_gradient_boosting/_loss.pyx
  [17/55] Cythonizing sklearn/ensemble/_hist_gradient_boosting/_predictor.pyx
  [18/55] Cythonizing sklearn/ensemble/_hist_gradient_boosting/common.pyx
  [19/55] Cythonizing sklearn/ensemble/_hist_gradient_boosting/histogram.pyx
  [20/55] Cythonizing sklearn/ensemble/_hist_gradient_boosting/splitting.pyx
  [21/55] Cythonizing sklearn/ensemble/_hist_gradient_boosting/utils.pyx
  [22/55] Cythonizing sklearn/feature_extraction/_hashing_fast.pyx
  [23/55] Cythonizing sklearn/linear_model/_cd_fast.pyx
  [24/55] Cythonizing sklearn/linear_model/_sag_fast.pyx
  [25/55] Cythonizing sklearn/linear_model/_sgd_fast.pyx
  [26/55] Cythonizing sklearn/manifold/_barnes_hut_tsne.pyx
  [27/55] Cythonizing sklearn/manifold/_utils.pyx
  [28/55] Cythonizing sklearn/metrics/_pairwise_fast.pyx
  [29/55] Cythonizing sklearn/metrics/cluster/_expected_mutual_info_fast.pyx
  [30/55] Cythonizing sklearn/neighbors/_ball_tree.pyx
  [31/55] Cythonizing sklearn/neighbors/_dist_metrics.pyx
  [32/55] Cythonizing sklearn/neighbors/_kd_tree.pyx
  [33/55] Cythonizing sklearn/neighbors/_partition_nodes.pyx
  [34/55] Cythonizing sklearn/neighbors/_quad_tree.pyx
  [35/55] Cythonizing sklearn/neighbors/_typedefs.pyx
  [36/55] Cythonizing sklearn/preprocessing/_csr_polynomial_expansion.pyx
  [37/55] Cythonizing sklearn/svm/_liblinear.pyx
  [38/55] Cythonizing sklearn/svm/_libsvm.pyx
  [39/55] Cythonizing sklearn/svm/_libsvm_sparse.pyx
  [40/55] Cythonizing sklearn/svm/_newrand.pyx
  [41/55] Cythonizing sklearn/tree/_criterion.pyx
  [42/55] Cythonizing sklearn/tree/_splitter.pyx
  [43/55] Cythonizing sklearn/tree/_tree.pyx
  [44/55] Cythonizing sklearn/tree/_utils.pyx
  [45/55] Cythonizing sklearn/utils/_cython_blas.pyx
  [46/55] Cythonizing sklearn/utils/_fast_dict.pyx
  [47/55] Cythonizing sklearn/utils/_logistic_sigmoid.pyx
  [48/55] Cythonizing sklearn/utils/_openmp_helpers.pyx
  [49/55] Cythonizing sklearn/utils/_random.pyx
  [50/55] Cythonizing sklearn/utils/_readonly_array_wrapper.pyx
  [51/55] Cythonizing sklearn/utils/_seq_dataset.pyx
  [52/55] Cythonizing sklearn/utils/_weight_vector.pyx
  [53/55] Cythonizing sklearn/utils/arrayfuncs.pyx
  [54/55] Cythonizing sklearn/utils/murmurhash.pyx
  [55/55] Cythonizing sklearn/utils/sparsefuncs_fast.pyx
      main()
    File "/home/fabio/.local/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 "/home/fabio/.local/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 149, in prepare_metadata_for_build_wheel
      return hook(metadata_directory, config_settings)
    File "/tmp/pip-build-env-eoo56xj6/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 366, in prepare_metadata_for_build_wheel
      self.run_setup()
    File "/tmp/pip-build-env-eoo56xj6/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 480, in run_setup
      super(_BuildMetaLegacyBackend, self).run_setup(setup_script=setup_script)
    File "/tmp/pip-build-env-eoo56xj6/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 311, in run_setup
      exec(code, locals())
    File "<string>", line 319, in <module>
    File "<string>", line 315, in setup_package
    File "/tmp/pip-build-env-eoo56xj6/overlay/lib/python3.10/site-packages/numpy/distutils/core.py", line 135, in setup
      config = configuration()
    File "<string>", line 201, in configuration
    File "/tmp/pip-build-env-eoo56xj6/overlay/lib/python3.10/site-packages/numpy/distutils/misc_util.py", line 1014, in add_subpackage
      config_list = self.get_subpackage(subpackage_name, subpackage_path,
    File "/tmp/pip-build-env-eoo56xj6/overlay/lib/python3.10/site-packages/numpy/distutils/misc_util.py", line 980, in get_subpackage
      config = self._get_configuration_from_setup_py(
    File "/tmp/pip-build-env-eoo56xj6/overlay/lib/python3.10/site-packages/numpy/distutils/misc_util.py", line 922, in _get_configuration_from_setup_py
      config = setup_module.configuration(*args)
    File "/tmp/pip-install-dh3tipcc/scikit-learn_564de7b1c977471ba69b9d643f5f0009/sklearn/setup.py", line 85, in configuration
      cythonize_extensions(top_path, config)
    File "/tmp/pip-install-dh3tipcc/scikit-learn_564de7b1c977471ba69b9d643f5f0009/sklearn/_build_utils/__init__.py", line 73, in cythonize_extensions
      config.ext_modules = cythonize(
    File "/tmp/pip-build-env-eoo56xj6/overlay/lib/python3.10/site-packages/Cython/Build/Dependencies.py", line 1145, in cythonize
      result.get(99999)  # seconds
    File "/home/fabio/miniconda3/envs/env_frl_py3_10/lib/python3.10/multiprocessing/pool.py", line 771, in get
      raise self._value
  Cython.Compiler.Errors.CompileError: sklearn/ensemble/_hist_gradient_boosting/splitting.pyx
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: metadata-generation-failed

\u00d7 Encountered error while generating package metadata. \u2570\u2500> See above for output.

note: This is an issue with the package mentioned above, not pip. hint: See above for details.

FabioMD1972 commented 9 months ago

I try to go on with:

pip install Cython==0.29.36
pip install scikit-learn==1.0 --no-build-isolationc

But now I got issue with cvxpy: pip install git+https://github.com/AI4Finance-Foundation/FinRL.git

Error

... Collecting cvxpy<1.1,>=1.0 Using cached cvxpy-1.0.31.tar.gz (947 kB) Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... error error: subprocess-exited-with-error

\u00d7 Preparing metadata (pyproject.toml) did not run successfully. \u2502 exit code: 1 \u2570\u2500> [1 lines of output] error in cvxpy setup command: use_2to3 is invalid.

krishdotn1 commented 8 months ago

I'm not sure about the error but it might be fixed with apt-get install g++

actually I have received some errors (did not recall ) but I have fixed those error to install g++ . It install C++ in ubuntu.