Skip to content

Cython compilation error with Cython>=3 and scikit-learn<1.2 #26858

@opennog

Description

@opennog

Workaround for this issue

➡️ The most likely reason you are reading this issue is that you are using a version of scikit-learn that does not support cython 3.0

The solution is to pin cython to cython<3 in your environment and use pip install --no-build-isolation scikit-learn to install scikit-learn.

(edit by @betatim to make the solution more visible. Please don't add a comment to this issue if all you are saying is "I also have this problem".)

Note: at the time of writing (September 2023) scikit-learn>=1.2 compiles fine with Cython 3 (latest release is Cython 3.0.2) but this can change with Cython development.


Original issue description

When installing scikit-learn==0.23.2 in a docker I get now the following error. I was not getting it ~1month ago.

I can pip install newer scikit-learn versions (i.e., 1.3.0), however, given that there is no across version compatibility my models do not work.

Thus, I'd like to ask for support to see if you knew why scikit-learn==0.23.2 can not compile and, if possible, to overcome this limitation.

ERROR:

Building wheels for collected packages: scikit-learn, sklearn, pyclamd, bctpy, fire, fpdf, yattag, construct
  Building wheel for scikit-learn (pyproject.toml): started
  Building wheel for scikit-learn (pyproject.toml): finished with status 'error'
[91m  error: subprocess-exited-with-error
 
  × Building wheel for scikit-learn (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [694 lines of output]
      <string>:12: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
      Partial import of sklearn during the build process.
      C compiler: gcc -pthread -B /opt/conda/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/conda/include -fPIC -O2 -isystem /opt/conda/include -fPIC
	 
      compile options: '-c'
      gcc: test_program.c
      gcc -pthread -B /opt/conda/compiler_compat objects/test_program.o -o test_program
      C compiler: gcc -pthread -B /opt/conda/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/conda/include -fPIC -O2 -isystem /opt/conda/include -fPIC
	 
      compile options: '-c'
      extra options: '-fopenmp'
      gcc: test_program.c
      gcc -pthread -B /opt/conda/compiler_compat objects/test_program.o -o test_program -fopenmp
      Compiling sklearn/__check_build/_check_build.pyx because it changed.
      Compiling sklearn/preprocessing/_csr_polynomial_expansion.pyx because it changed.
      Compiling sklearn/cluster/_dbscan_inner.pyx because it changed.
      Compiling sklearn/cluster/_hierarchical_fast.pyx because it changed.
      Compiling sklearn/cluster/_k_means_fast.pyx because it changed.
      Compiling sklearn/cluster/_k_means_lloyd.pyx because it changed.
      Compiling sklearn/cluster/_k_means_elkan.pyx because it changed.
      Compiling sklearn/datasets/_svmlight_format_fast.pyx because it changed.
      Compiling sklearn/decomposition/_online_lda_fast.pyx because it changed.
      Compiling sklearn/decomposition/_cdnmf_fast.pyx because it changed.
      Compiling sklearn/ensemble/_gradient_boosting.pyx because it changed.
      Compiling sklearn/ensemble/_hist_gradient_boosting/_gradient_boosting.pyx because it changed.
      Compiling sklearn/ensemble/_hist_gradient_boosting/histogram.pyx because it changed.
      Compiling sklearn/ensemble/_hist_gradient_boosting/splitting.pyx because it changed.
      Compiling sklearn/ensemble/_hist_gradient_boosting/_binning.pyx because it changed.
      Compiling sklearn/ensemble/_hist_gradient_boosting/_predictor.pyx because it changed.
      Compiling sklearn/ensemble/_hist_gradient_boosting/_loss.pyx because it changed.
      Compiling sklearn/ensemble/_hist_gradient_boosting/common.pyx because it changed.
      Compiling sklearn/ensemble/_hist_gradient_boosting/utils.pyx because it changed.
      Compiling sklearn/feature_extraction/_hashing_fast.pyx because it changed.
      Compiling sklearn/manifold/_utils.pyx because it changed.
      Compiling sklearn/manifold/_barnes_hut_tsne.pyx because it changed.
      Compiling sklearn/metrics/cluster/_expected_mutual_info_fast.pyx because it changed.
      Compiling sklearn/metrics/_pairwise_fast.pyx because it changed.
      Compiling sklearn/neighbors/_ball_tree.pyx because it changed.
      Compiling sklearn/neighbors/_kd_tree.pyx because it changed.
      Compiling sklearn/neighbors/_dist_metrics.pyx because it changed.
      Compiling sklearn/neighbors/_typedefs.pyx because it changed.
      Compiling sklearn/neighbors/_quad_tree.pyx because it changed.
      Compiling sklearn/tree/_tree.pyx because it changed.
      Compiling sklearn/tree/_splitter.pyx because it changed.
      Compiling sklearn/tree/_criterion.pyx because it changed.
      Compiling sklearn/tree/_utils.pyx because it changed.
      Compiling sklearn/utils/sparsefuncs_fast.pyx because it changed.
      Compiling sklearn/utils/_cython_blas.pyx because it changed.
      Compiling sklearn/utils/arrayfuncs.pyx because it changed.
      Compiling sklearn/utils/murmurhash.pyx because it changed.
      Compiling sklearn/utils/graph_shortest_path.pyx because it changed.
      Compiling sklearn/utils/_fast_dict.pyx because it changed.
      Compiling sklearn/utils/_openmp_helpers.pyx because it changed.
      Compiling sklearn/utils/_seq_dataset.pyx because it changed.
      Compiling sklearn/utils/_weight_vector.pyx because it changed.
      Compiling sklearn/utils/_random.pyx because it changed.
      Compiling sklearn/utils/_logistic_sigmoid.pyx because it changed.
      Compiling sklearn/svm/_libsvm.pyx because it changed.
      Compiling sklearn/svm/_liblinear.pyx because it changed.
      Compiling sklearn/svm/_libsvm_sparse.pyx because it changed.
      Compiling sklearn/linear_model/_cd_fast.pyx because it changed.
      Compiling sklearn/linear_model/_sgd_fast.pyx because it changed.
      Compiling sklearn/linear_model/_sag_fast.pyx because it changed.
      Compiling sklearn/_isotonic.pyx because it changed.
      warning: sklearn/cluster/_dbscan_inner.pyx:17:5: Only extern functions can throw C++ exceptions.
      warning: sklearn/neighbors/_dist_metrics.pxd:19:64: 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/_dist_metrics.pxd:29:65: 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/_dist_metrics.pxd:38: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/neighbors/_dist_metrics.pxd:42: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/neighbors/_dist_metrics.pxd:65: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/_dist_metrics.pxd:68:52: 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/_dist_metrics.pxd:75: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/neighbors/_dist_metrics.pxd:77:67: 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: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/_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:85: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:90: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/_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.
      warning: sklearn/ensemble/_hist_gradient_boosting/splitting.pyx:18: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/ensemble/_hist_gradient_boosting/splitting.pyx:270:12: 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/linear_model/_sgd_fast.pyx:30:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
      warning: sklearn/linear_model/_sgd_fast.pyx:31:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
      warning: sklearn/linear_model/_sgd_fast.pyx:32:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
      warning: sklearn/linear_model/_sgd_fast.pyx:33:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
      warning: sklearn/linear_model/_sgd_fast.pyx:36:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
      warning: sklearn/linear_model/_sgd_fast.pyx:37:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
      warning: sklearn/linear_model/_sgd_fast.pyx:38:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
      warning: sklearn/linear_model/_sgd_fast.pyx:39:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
      warning: sklearn/linear_model/_sgd_fast.pyx:40:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
      warning: sklearn/linear_model/_sgd_fast.pyx:41:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
      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/neighbors/_binary_tree.pxi:593:66: 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/_binary_tree.pxi:601:49: 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/_binary_tree.pxi:663: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/_binary_tree.pxi:1211:58: The keyword 'nogil' should appear at the end of the function sig[0m[91mnature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.
      warning: sklearn/neighbors/_binary_tree.pxi:1220: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/_binary_tree.pxi:1801:78: 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/_ball_tree.pyx:109: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/_ball_tree.pyx:125:82: 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/_ball_tree.pyx:136:58: 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/_dist_metrics.pxd:19:64: 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/_dist_metrics.pxd:29:65: 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/_dist_metrics.pxd:38: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/neighbors/_dist_metrics.pxd:42: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/neighbors/_dist_metrics.pxd:65: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/_dist_metrics.pxd:68:52: 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/_dist_metrics.pxd:75: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/neighbors/_dist_metrics.pxd:77:67: 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:
      ------------------------------------------------------------
      ...
	 
     		 # determine number of levels in the tree, and from this
     		 # the number of nodes in the tree.  This results in leaf nodes
     		 # with numbers of points between leaf_size and 2 * leaf_size
     		 self.n_levels = np.log2(fmax(1, (n_samples - 1) / self.leaf_size)) + 1
     		 self.n_nodes = (2 ** self.n_levels) - 1
                                         		 ^
      ------------------------------------------------------------
	 
      sklearn/neighbors/_binary_tree.pxi:1075:44: Cannot assign type 'double' to 'ITYPE_t'
      Traceback (most recent call last):
   	 File "/tmp/pip-build-env-dtpfhb6q/overlay/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 1325, in cythonize_one_helper
 		 return cythonize_one(*m)
   	 File "/tmp/pip-build-env-dtpfhb6q/overlay/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 1301, in cythonize_one
 		 raise CompileError(None, pyx_file)
      Cython.Compiler.Errors.CompileError: sklearn/neighbors/_ball_tree.pyx
      warning: sklearn/neighbors/_dist_metrics.pxd:19:64: 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/_dist_metrics.pxd:29:65: 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/_dist_metrics.pxd:38: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/neighbors/_dist_metrics.pxd:42: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/neighbors/_dist_metrics.pxd:65: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/_dist_metrics.pxd:68:52: 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/_dist_metrics.pxd:75: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/neighbors/_dist_metrics.pxd:77:67: 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/_dist_metrics.pyx:296: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/_dist_metrics.pyx:304:52: 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/_dist_metrics.pyx:336: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/neighbors/_dist_metrics.pyx:340:67: 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/_dist_metrics.pyx:417:58: 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/_dist_metrics.pyx:421: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/_dist_metrics.pyx:424: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/neighbors/_dist_metrics.pyx:427:74: 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/_dist_metrics.pyx:453: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/_dist_metrics.pyx:465:58: 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/_dist_metrics.pyx:468: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/neighbors/_dist_metrics.pyx:471:74: 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/_dist_metrics.pyx:494:58: 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/_dist_metrics.pyx:515:58: 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/_dist_metrics.pyx:546: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/_dist_metrics.pyx:554:58: 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/_dist_metrics.pyx:557: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/neighbors/_dist_metrics.pyx:560:74: 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/_dist_metrics.pyx:601: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/_dist_metrics.pyx:613:58: 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/_dist_metrics.pyx:616: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/neighbors/_dist_metrics.pyx:619:74: 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/_dist_metrics.pyx:666: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/_dist_metrics.pyx:686:58: 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/_dist_metrics.pyx:689: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/neighbors/_dist_metrics.pyx:692:74: 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/_dist_metrics.pyx:715:58: 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/_dist_metrics.pyx:737:58: 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/_dist_metrics.pyx:760:58: 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/_dist_metrics.pyx:786:58: 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/_dist_metrics.pyx:816:58: 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/_dist_metrics.pyx:840:58: 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/_dist_metrics.pyx:865:58: 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/_dist_metrics.pyx:890:58: 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/_dist_metrics.pyx:914:58: 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/_dist_metrics.pyx:938:58: 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/_dist_metrics.pyx:962:58: 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/_dist_metrics.pyx:990: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/_dist_metrics.pyx:1000: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/_dist_metrics.pyx:1009: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/neighbors/_dist_metrics.pyx:1012:74: 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/_dist_metrics.pyx:1109:58: 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/_binary_tree.pxi:593:66: 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/_binary_tree.pxi:601:49: 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/_binary_tree.pxi:663: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/_binary_tree.pxi:1211:58: 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/_binary_tree.pxi:1220: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/_binary_tree.pxi:1801:78: 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/_kd_tree.pyx:91: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/_kd_tree.pyx:152:82: 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/_dist_metrics.pxd:19:64: 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/_dist_metrics.pxd:29:65: 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/_dist_metrics.pxd:38: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/neighbors/_dist_metrics.pxd:42: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/neighbors/_dist_metrics.pxd:65: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/_dist_metrics.pxd:68:52: 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/_dist_metrics.pxd:75: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/neighbors/_dist_metrics.pxd:77:67: 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:
      ------------------------------------------------------------
      ...
	 
     		 # determine number of levels in the tree, and from this
     		 # the number of nodes in the tree.  This results in leaf nodes
     		 # with numbers of points between leaf_size and 2 * leaf_size
     		 self.n_levels = np.log2(fmax(1, (n_samples - 1) / self.leaf_size)) + 1
     		 self.n_nodes = (2 ** self.n_levels) - 1
                                         		 ^
      ------------------------------------------------------------
	 
      sklearn/neighbors/_binary_tree.pxi:1075:44: Cannot assign type 'double' to 'ITYPE_t'
      Traceback (most recent call last):
   	 File "/tmp/pip-build-env-dtpfhb6q/overlay/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 1325, in cythonize_one_helper
 		 return cythonize_one(*m)
   	 File "/tmp/pip-build-env-dtpfhb6q/overlay/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 1301, in cythonize_one
 		 raise CompileError(None, pyx_file)
      Cython.Compiler.Errors.CompileError: sklearn/neighbors/_kd_tree.pyx
      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/neighbors/_quad_tree.pyx:137: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.pyx:326: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.pyx:485: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.pyx:579: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.pyx:591: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/_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: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/_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:85: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:90: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.
	 
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
         		 raise ValueError(
             		 "QuadTree is incoherent. Size={} but found {} points "
             		 "in children."
             		 .format(self.n_points, self.cells[0].cumulative_size))
	 
 		 cdef long summarize(self, DTYPE_t[3] point, DTYPE_t* results,
      		 ^
      ------------------------------------------------------------
	 
      sklearn/neighbors/_quad_tree.pyx:392:9: Signature not compatible with previous declaration
	 
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                                        		 ) nogil
 		 cdef SIZE_t _select_child(self, DTYPE_t[3] point, Cell* cell) nogil
 		 cdef bint _is_duplicate(self, DTYPE_t[3] point1, DTYPE_t[3] point2) nogil
	 
 		 # Create a summary of the Tree compare to a query point
 		 cdef long summarize(self, DTYPE_t[3] point, DTYPE_t* results,
                    		 ^
      ------------------------------------------------------------
	 
      sklearn/neighbors/_quad_tree.pxd:84:23: Previous declaration is here
	 
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
 		 def __cinit__(self, int n_dimensions, int verbose):
     		 """Constructor."""
     		 # Parameters of the tree
     		 self.n_dimensions = n_dimensions
     		 self.verbose = verbose
     		 self.n_cells_per_cell = 2 ** self.n_dimensions
                               		 ^
      ------------------------------------------------------------
	 
      sklearn/neighbors/_quad_tree.pyx:77:34: Cannot assign type 'double' to 'SIZE_t'
	 
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
     		 arr = PyArray_NewFromDescr(<PyTypeObject *> np.ndarray,
                                		 CELL_DTYPE, 1, shape,
                                		 strides, <void*> self.cells,
                                		 np.NPY_DEFAULT, None)
     		 Py_INCREF(self)
     		 arr.base = <PyObject*> self
        		 ^
      ------------------------------------------------------------
	 
      sklearn/neighbors/_quad_tree.pyx:576:11: Assignment to a read-only property
      Traceback (most recent call last):
   	 File "/tmp/pip-build-env-dtpfhb6q/overlay/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 1325, in cythonize_one_helper
 		 return cythonize_one(*m)
   	 File "/tmp/pip-build-env-dtpfhb6q/overlay/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 1301, in cythonize_one
 		 raise CompileError(None, pyx_file)
      Cython.Compiler.Errors.CompileError: sklearn/neighbors/_quad_tree.pyx
	 
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
     		 free_problem(problem)
     		 free_parameter(param)
     		 raise ValueError(error_msg)
	 
 		 cdef BlasFunctions blas_functions
 		 blas_functions.dot = _dot[double]
                          		 ^
      ------------------------------------------------------------
	 
      sklearn/svm/_liblinear.pyx:55:29: Cannot assign type 'double (int, double *, int, double *, int) except * nogil' to 'dot_func'
	 
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
     		 free_parameter(param)
     		 raise ValueError(error_msg)
	 
 		 cdef BlasFunctions blas_functions
 		 blas_functions.dot = _dot[double]
 		 blas_functions.axpy = _axpy[double]
                            		 ^
      ------------------------------------------------------------
	 
      sklearn/svm/_liblinear.pyx:56:31: Cannot assign type 'void (int, double, double *, int, double *, int) except * nogil' to 'axpy_func'
	 
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
     		 raise ValueError(error_msg)
	 
 		 cdef BlasFunctions blas_functions
 		 blas_functions.dot = _dot[double]
 		 blas_functions.axpy = _axpy[double]
 		 blas_functions.scal = _scal[double]
                            		 ^
      ------------------------------------------------------------
	 
      sklearn/svm/_liblinear.pyx:57:31: Cannot assign type 'void (int, double, double *, int) except * nogil' to 'scal_func'
	 
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
	 
 		 cdef BlasFunctions blas_functions
 		 blas_functions.dot = _dot[double]
 		 blas_functions.axpy = _axpy[double]
 		 blas_functions.scal = _scal[double]
 		 blas_functions.nrm2 = _nrm2[double]
                            		 ^
      ------------------------------------------------------------
	 
      sklearn/svm/_liblinear.pyx:58:31: Cannot assign type 'double (int, double *, int) except * nogil' to 'nrm2_func'
      Traceback (most recent call last):
   	 File "/tmp/pip-build-env-dtpfhb6q/overlay/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 1325, in cythonize_one_helper
 		 return cythonize_one(*m)
   	 File "/tmp/pip-build-env-dtpfhb6q/overlay/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 1301, in cythonize_one
 		 raise CompileError(None, pyx_file)
      Cython.Compiler.Errors.CompileError: sklearn/svm/_liblinear.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:68: The keyword 'nogil' [0m[91mshould 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:85: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:90: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:56: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:82: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:90: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:97: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:281: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:346: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:373: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:400: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:742: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:783: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:794: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:805: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:1026: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:1074: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:1106: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:1135: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/_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.
      warning: sklearn/tree/_splitter.pxd:85: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:90: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.pxd:61: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/_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.pyx:188: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.pyx:218: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/_splitter.pyx:285: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/_splitter.pyx:601: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/_splitter.pyx:1119: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/_splitter.pyx:1348: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/_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:
      ------------------------------------------------------------
      ...
 		 if not is_samples_sorted[0]:
     		 n_samples = end - start
     		 memcpy(sorted_samples + start, samples + start,
            		 n_samples * sizeof(SIZE_t))
     		 qsort(sorted_samples + start, n_samples, sizeof(SIZE_t),
           		 compare_SIZE_t)
           		 ^
      ------------------------------------------------------------
	 
      sklearn/tree/_splitter.pyx:1056:14: Cannot assign type 'int (const void *, const void *) except? -1 nogil' to 'int (*)(const void *, const void *) noexcept nogil'
      Traceback (most recent call last):
   	 File "/tmp/pip-build-env-dtpfhb6q/overlay/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 1325, in cythonize_one_helper
 		 return cythonize_one(*m)
   	 File "/tmp/pip-build-env-dtpfhb6q/overlay/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 1301, in cythonize_one
 		 raise CompileError(None, pyx_file)
      Cython.Compiler.Errors.CompileError: sklearn/tree/_splitter.pyx
      warning: sklearn/tree/_tree.pxd:61: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/_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:85: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:90: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:284: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:433: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:683: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:695: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:729: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:162:56: Cannot assign type 'double' to 'int'
	 
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
     		 shape[1] = <np.npy_intp> self.n_outputs
     		 shape[2] = <np.npy_intp> self.max_n_classes
     		 cdef np.ndarray arr
     		 arr = np.PyArray_SimpleNewFromData(3, shape, np.NPY_DOUBLE, self.value)
     		 Py_INCREF(self)
     		 arr.base = <PyObject*> self
        		 ^
      ------------------------------------------------------------
	 
      sklearn/tree/_tree.pyx:1103:11: Assignment to a read-only property
	 
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
     		 arr = PyArray_NewFromDescr(<PyTypeObject *> np.ndarray,
                                		 <np.dtype> NODE_DTYPE, 1, shape,
                                		 strides, <void*> self.nodes,
                                		 np.NPY_DEFAULT, None)
     		 Py_INCREF(self)
     		 arr.base = <PyObject*> self
        		 ^
      ------------------------------------------------------------
	 
      sklearn/tree/_tree.pyx:1124:11: Assignment to a read-only property
      Traceback (most recent call last):
   	 File "/tmp/pip-build-env-dtpfhb6q/overlay/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 1325, in cythonize_one_helper
 		 return cythonize_one(*m)
   	 File "/tmp/pip-build-env-dtpfhb6q/overlay/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 1301, 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: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/_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:85: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:90: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.
	 
      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-dtpfhb6q/overlay/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 1325, in cythonize_one_helper
 		 return cythonize_one(*m)
   	 File "/tmp/pip-build-env-dtpfhb6q/overlay/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 1301, 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
      [ 1/51] Cythonizing sklearn/__check_build/_check_build.pyx
      [ 2/51] Cythonizing sklearn/_isotonic.pyx
      [ 3/51] Cythonizing sklearn/cluster/_dbscan_inner.pyx
      [ 4/51] Cythonizing sklearn/cluster/_hierarchical_fast.pyx
      [ 5/51] Cythonizing sklearn/cluster/_k_means_elkan.pyx
      [ 6/51] Cythonizing sklearn/cluster/_k_means_fast.pyx
      [ 7/51] Cythonizing sklearn/cluster/_k_means_lloyd.pyx
      [ 8/51] Cythonizing sklearn/datasets/_svmlight_format_fast.pyx
      [ 9/51] Cythonizing sklearn/decomposition/_cdnmf_fast.pyx
      [10/51] Cythonizing sklearn/decomposition/_online_lda_fast.pyx
      [11/51] Cythonizing sklearn/ensemble/_gradient_boosting.pyx
      [12/51] Cythonizing sklearn/ensemble/_hist_gradient_boosting/_binning.pyx
      [13/51] Cythonizing sklearn/ensemble/_hist_gradient_boosting/_gradient_boosting.pyx
      [14/51] Cythonizing sklearn/ensemble/_hist_gradient_boosting/_loss.pyx
      [15/51] Cythonizing sklearn/ensemble/_hist_gradient_boosting/_predictor.pyx
      [16/51] Cythonizing sklearn/ensemble/_hist_gradient_boosting/common.pyx
      [17/51] Cythonizing sklearn/ensemble/_hist_gradient_boosting/histogram.pyx
      [18/51] Cythonizing sklearn/ensemble/_hist_gradient_boosting/splitting.pyx
      [19/51] Cythonizing sklearn/ensemble/_hist_gradient_boosting/utils.pyx
      [20/51] Cythonizing sklearn/feature_extraction/_hashing_fast.pyx
      [21/51] Cythonizing sklearn/linear_model/_cd_fast.pyx
      [22/51] Cythonizing sklearn/linear_model/_sag_fast.pyx
      [23/51] Cythonizing sklearn/linear_model/_sgd_fast.pyx
      [24/51] Cythonizing sklearn/manifold/_barnes_hut_tsne.pyx
      [25/51] Cythonizing sklearn/manifold/_utils.pyx
      [26/51] Cythonizing sklearn/metrics/_pairwise_fast.pyx
      [27/51] Cythonizing sklearn/metrics/cluster/_expected_mutual_info_fast.pyx
      [28/51] Cythonizing sklearn/neighbors/_ball_tree.pyx
      [29/51] Cythonizing sklearn/neighbors/_dist_metrics.pyx
      [30/51] Cythonizing sklearn/neighbors/_kd_tree.pyx
      [31/51] Cythonizing sklearn/neighbors/_quad_tree.pyx
      [32/51] Cythonizing sklearn/neighbors/_typedefs.pyx
      [33/51] Cythonizing sklearn/preprocessing/_csr_polynomial_expansion.pyx
      [34/51] Cythonizing sklearn/svm/_liblinear.pyx
      [35/51] Cythonizing sklearn/svm/_libsvm.pyx
      [36/51] Cythonizing sklearn/svm/_libsvm_sparse.pyx
      [37/51] Cythonizing sklearn/tree/_criterion.pyx
      [38/51] Cythonizing sklearn/tree/_splitter.pyx
      [39/51] Cythonizing sklearn/tree/_tree.pyx
      [40/51] Cythonizing sklearn/tree/_utils.pyx
      [41/51] Cythonizing sklearn/utils/_cython_blas.pyx
      [42/51] Cythonizing sklearn/utils/_fast_dict.pyx
      [43/51] Cythonizing sklearn/utils/_logistic_sigmoid.pyx
      [44/51] Cythonizing sklearn/utils/_openmp_helpers.pyx
      [45/51] Cythonizing sklearn/utils/_random.pyx
      [46/51] Cythonizing sklearn/utils/_seq_dataset.pyx
      [47/51] Cythonizing sklearn/utils/_weight_vector.pyx
      [48/51] Cythonizing sklearn/utils/arrayfuncs.pyx
      [49/51] Cythonizing sklearn/utils/graph_shortest_path.pyx
      [50/51] Cythonizing sklearn/utils/murmurhash.pyx
      [51/51] Cythonizing sklearn/utils/spar[0m[91msefuncs_fast.pyx
      multiprocessing.pool.RemoteTraceback:
      """
      Traceback (most recent call last):
   	 File "/opt/conda/lib/python3.9/multiprocessing/pool.py", line 125, in worker
 		 result = (True, func(*args, **kwds))
   	 File "/opt/conda/lib/python3.9/multiprocessing/pool.py", line 48, in mapstar
 		 return list(map(*args))
   	 File "/tmp/pip-build-env-dtpfhb6q/overlay/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 1325, in cythonize_one_helper
 		 return cythonize_one(*m)
   	 File "/tmp/pip-build-env-dtpfhb6q/overlay/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 1301, in cythonize_one
 		 raise CompileError(None, pyx_file)
      Cython.Compiler.Errors.CompileError: sklearn/neighbors/_ball_tree.pyx
      """
	 
      The above exception was the direct cause of the following exception:
	 
      Traceback (most recent call last):
   	 File "/opt/conda/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
 		 main()
   	 File "/opt/conda/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
 		 json_out['return_val'] = hook(**hook_input['kwargs'])
   	 File "/opt/conda/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 261, in build_wheel
 		 return _build_backend().build_wheel(wheel_directory, config_settings,
   	 File "/tmp/pip-build-env-dtpfhb6q/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 416, in build_wheel
 		 return self._build_with_temp_dir(['bdist_wheel'], '.whl',
   	 File "/tmp/pip-build-env-dtpfhb6q/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 401, in _build_with_temp_dir
 		 self.run_setup()
   	 File "/tmp/pip-build-env-dtpfhb6q/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 487, in run_setup
 		 super(_BuildMetaLegacyBackend,
   	 File "/tmp/pip-build-env-dtpfhb6q/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 338, in run_setup
 		 exec(code, locals())
   	 File "<string>", line 304, in <module>
   	 File "<string>", line 300, in setup_package
   	 File "/tmp/pip-build-env-dtpfhb6q/overlay/lib/python3.9/site-packages/numpy/distutils/core.py", line 137, in setup
 		 config = configuration()
   	 File "<string>", line 183, in configuration
   	 File "/tmp/pip-build-env-dtpfhb6q/overlay/lib/python3.9/site-packages/numpy/distutils/misc_util.py", line 1033, in add_subpackage
 		 config_list = self.get_subpackage(subpackage_name, subpackage_path,
   	 File "/tmp/pip-build-env-dtpfhb6q/overlay/lib/python3.9/site-packages/numpy/distutils/misc_util.py", line 999, in get_subpackage
 		 config = self._get_configuration_from_setup_py(
   	 File "/tmp/pip-build-env-dtpfhb6q/overlay/lib/python3.9/site-packages/numpy/distutils/misc_util.py", 

Versions
scikit-learn==0.23.2
python 3.9
I can provide other versions if needed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions