scikit-learn-contrib / py-earth

A Python implementation of Jerome Friedman's Multivariate Adaptive Regression Splines
http://contrib.scikit-learn.org/py-earth/
BSD 3-Clause "New" or "Revised" License
459 stars 122 forks source link

error install sklearn-contrib-py-earth in python 3.11 #230

Open sativa opened 1 year ago

sativa commented 1 year ago

OS: macOS Ventura 13.5.2 (22G91) Python version: 3.11 Install Command: pip install sklearn-contrib-py-earth

error information:

In file included from pyearth/_util.c:495: In file included from /Users/modeller/opt/anaconda3/envs/py311/lib/python3.11/site-packages/numpy/core/include/numpy/arrayobject.h:5: In file included from /Users/modeller/opt/anaconda3/envs/py311/lib/python3.11/site-packages/numpy/core/include/numpy/ndarrayobject.h:12: In file included from /Users/modeller/opt/anaconda3/envs/py311/lib/python3.11/site-packages/numpy/core/include/numpy/ndarraytypes.h:1940: /Users/modeller/opt/anaconda3/envs/py311/lib/python3.11/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]

warning "Using deprecated NumPy API, disable it with " \

   ^
  pyearth/_util.c:1204:23: error: expression is not assignable
          Py_SIZE(list) = len+1;
          ~~~~~~~~~~~~~ ^
  pyearth/_util.c:7561:22: warning: 'PyUnicode_GET_SIZE' is deprecated [-Wdeprecated-declarations]
                      (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                       ^
  /Users/modeller/opt/anaconda3/envs/py311/include/python3.11/cpython/unicodeobject.h:664:34: note: expanded from macro 'PyUnicode_GET_SIZE'
  #  define PyUnicode_GET_SIZE(op) PyUnicode_GET_SIZE(_PyObject_CAST(op))
                                   ^
  /Users/modeller/opt/anaconda3/envs/py311/include/python3.11/cpython/unicodeobject.h:651:1: note: 'PyUnicode_GET_SIZE' has been explicitly marked deprecated here
  Py_DEPRECATED(3.3)
  ^
  /Users/modeller/opt/anaconda3/envs/py311/include/python3.11/pyport.h:336:54: note: expanded from macro 'Py_DEPRECATED'
  #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                       ^
  pyearth/_util.c:7561:52: warning: 'PyUnicode_GET_SIZE' is deprecated [-Wdeprecated-declarations]
                      (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                     ^
  /Users/modeller/opt/anaconda3/envs/py311/include/python3.11/cpython/unicodeobject.h:664:34: note: expanded from macro 'PyUnicode_GET_SIZE'
  #  define PyUnicode_GET_SIZE(op) PyUnicode_GET_SIZE(_PyObject_CAST(op))
                                   ^
  /Users/modeller/opt/anaconda3/envs/py311/include/python3.11/cpython/unicodeobject.h:651:1: note: 'PyUnicode_GET_SIZE' has been explicitly marked deprecated here
  Py_DEPRECATED(3.3)
  ^
  /Users/modeller/opt/anaconda3/envs/py311/include/python3.11/pyport.h:336:54: note: expanded from macro 'Py_DEPRECATED'
  #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                       ^
  pyearth/_util.c:7577:26: warning: 'PyUnicode_GET_SIZE' is deprecated [-Wdeprecated-declarations]
                          (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                           ^
  /Users/modeller/opt/anaconda3/envs/py311/include/python3.11/cpython/unicodeobject.h:664:34: note: expanded from macro 'PyUnicode_GET_SIZE'
  #  define PyUnicode_GET_SIZE(op) PyUnicode_GET_SIZE(_PyObject_CAST(op))
                                   ^
  /Users/modeller/opt/anaconda3/envs/py311/include/python3.11/cpython/unicodeobject.h:651:1: note: 'PyUnicode_GET_SIZE' has been explicitly marked deprecated here
  Py_DEPRECATED(3.3)
  ^
  /Users/modeller/opt/anaconda3/envs/py311/include/python3.11/pyport.h:336:54: note: expanded from macro 'Py_DEPRECATED'
  #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                       ^
  pyearth/_util.c:7577:59: warning: 'PyUnicode_GET_SIZE' is deprecated [-Wdeprecated-declarations]
                          (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                            ^
  /Users/modeller/opt/anaconda3/envs/py311/include/python3.11/cpython/unicodeobject.h:664:34: note: expanded from macro 'PyUnicode_GET_SIZE'
  #  define PyUnicode_GET_SIZE(op) PyUnicode_GET_SIZE(_PyObject_CAST(op))
                                   ^
  /Users/modeller/opt/anaconda3/envs/py311/include/python3.11/cpython/unicodeobject.h:651:1: note: 'PyUnicode_GET_SIZE' has been explicitly marked deprecated here
  Py_DEPRECATED(3.3)
  ^
  /Users/modeller/opt/anaconda3/envs/py311/include/python3.11/pyport.h:336:54: note: expanded from macro 'Py_DEPRECATED'
  #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                       ^
  pyearth/_util.c:8071:21: error: no member named 'exc_type' in 'struct _ts'
      *type = tstate->exc_type;
              ~~~~~~  ^
  pyearth/_util.c:8072:22: error: no member named 'exc_value' in 'struct _ts'; did you mean 'curexc_value'?
      *value = tstate->exc_value;
                       ^~~~~~~~~
                       curexc_value
  /Users/modeller/opt/anaconda3/envs/py311/include/python3.11/cpython/pystate.h:119:15: note: 'curexc_value' declared here
      PyObject *curexc_value;
                ^
  pyearth/_util.c:8073:19: error: no member named 'exc_traceback' in 'struct _ts'; did you mean 'curexc_traceback'?
      *tb = tstate->exc_traceback;
                    ^~~~~~~~~~~~~
                    curexc_traceback
  /Users/modeller/opt/anaconda3/envs/py311/include/python3.11/cpython/pystate.h:120:15: note: 'curexc_traceback' declared here
      PyObject *curexc_traceback;
                ^
  pyearth/_util.c:8080:24: error: no member named 'exc_type' in 'struct _ts'
      tmp_type = tstate->exc_type;
                 ~~~~~~  ^
  pyearth/_util.c:8081:25: error: no member named 'exc_value' in 'struct _ts'; did you mean 'curexc_value'?
      tmp_value = tstate->exc_value;
                          ^~~~~~~~~
                          curexc_value
  /Users/modeller/opt/anaconda3/envs/py311/include/python3.11/cpython/pystate.h:119:15: note: 'curexc_value' declared here
      PyObject *curexc_value;
                ^
  pyearth/_util.c:8082:22: error: no member named 'exc_traceback' in 'struct _ts'; did you mean 'curexc_traceback'?
      tmp_tb = tstate->exc_traceback;
                       ^~~~~~~~~~~~~
                       curexc_traceback
  /Users/modeller/opt/anaconda3/envs/py311/include/python3.11/cpython/pystate.h:120:15: note: 'curexc_traceback' declared here
      PyObject *curexc_traceback;
                ^
  pyearth/_util.c:8083:13: error: no member named 'exc_type' in 'struct _ts'
      tstate->exc_type = type;
      ~~~~~~  ^
  pyearth/_util.c:8084:13: error: no member named 'exc_value' in 'struct _ts'; did you mean 'curexc_value'?
      tstate->exc_value = value;
              ^~~~~~~~~
              curexc_value
  /Users/modeller/opt/anaconda3/envs/py311/include/python3.11/cpython/pystate.h:119:15: note: 'curexc_value' declared here
      PyObject *curexc_value;
                ^
  pyearth/_util.c:8085:13: error: no member named 'exc_traceback' in 'struct _ts'; did you mean 'curexc_traceback'?
      tstate->exc_traceback = tb;
              ^~~~~~~~~~~~~
              curexc_traceback
  /Users/modeller/opt/anaconda3/envs/py311/include/python3.11/cpython/pystate.h:120:15: note: 'curexc_traceback' declared here
      PyObject *curexc_traceback;
                ^
  pyearth/_util.c:8140:24: error: no member named 'exc_type' in 'struct _ts'
      tmp_type = tstate->exc_type;
                 ~~~~~~  ^
  pyearth/_util.c:8141:25: error: no member named 'exc_value' in 'struct _ts'; did you mean 'curexc_value'?
      tmp_value = tstate->exc_value;
                          ^~~~~~~~~
                          curexc_value
  /Users/modeller/opt/anaconda3/envs/py311/include/python3.11/cpython/pystate.h:119:15: note: 'curexc_value' declared here
      PyObject *curexc_value;
                ^
  pyearth/_util.c:8142:22: error: no member named 'exc_traceback' in 'struct _ts'; did you mean 'curexc_traceback'?
      tmp_tb = tstate->exc_traceback;
                       ^~~~~~~~~~~~~
                       curexc_traceback
  /Users/modeller/opt/anaconda3/envs/py311/include/python3.11/cpython/pystate.h:120:15: note: 'curexc_traceback' declared here
      PyObject *curexc_traceback;
                ^
  pyearth/_util.c:8143:13: error: no member named 'exc_type' in 'struct _ts'
      tstate->exc_type = local_type;
      ~~~~~~  ^
  pyearth/_util.c:8144:13: error: no member named 'exc_value' in 'struct _ts'; did you mean 'curexc_value'?
      tstate->exc_value = local_value;
              ^~~~~~~~~
              curexc_value
  /Users/modeller/opt/anaconda3/envs/py311/include/python3.11/cpython/pystate.h:119:15: note: 'curexc_value' declared here
      PyObject *curexc_value;
                ^
  pyearth/_util.c:8145:13: error: no member named 'exc_traceback' in 'struct _ts'; did you mean 'curexc_traceback'?
      tstate->exc_traceback = local_tb;
              ^~~~~~~~~~~~~
              curexc_traceback
  /Users/modeller/opt/anaconda3/envs/py311/include/python3.11/cpython/pystate.h:120:15: note: 'curexc_traceback' declared here
      PyObject *curexc_traceback;
                ^
  pyearth/_util.c:8382:15: error: too few arguments to function call, expected 17, have 15
      py_code = __Pyx_PyCode_New(
                ^~~~~~~~~~~~~~~~~
  pyearth/_util.c:190:83: note: expanded from macro '__Pyx_PyCode_New'
            PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
            ~~~~~~~~~~                                                              ^
  /Users/modeller/opt/anaconda3/envs/py311/include/python3.11/cpython/code.h:148:28: note: 'PyCode_New' declared here
  PyAPI_FUNC(PyCodeObject *) PyCode_New(
                             ^
  pyearth/_util.c:8428:5: error: incomplete definition of type 'struct _frame'
      __Pyx_PyFrame_SetLineNumber(py_frame, py_line);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  pyearth/_util.c:276:62: note: expanded from macro '__Pyx_PyFrame_SetLineNumber'
    #define __Pyx_PyFrame_SetLineNumber(frame, lineno)  (frame)->f_lineno = (lineno)
                                                        ~~~~~~~^
  /Users/modeller/opt/anaconda3/envs/py311/include/python3.11/pytypedefs.h:22:16: note: forward declaration of 'struct _frame'
  typedef struct _frame PyFrameObject;
                 ^
  5 warnings and 18 errors generated.
  error: command '/usr/bin/clang' failed with exit code 1
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for sklearn-contrib-py-earth Running setup.py clean for sklearn-contrib-py-earth Failed to build sklearn-contrib-py-earth ERROR: Could not build wheels for sklearn-contrib-py-earth, which is required to install pyproject.toml-based projects