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

Build Issue on Python 3.7.3 #201

Closed gulls-on-parade closed 5 years ago

gulls-on-parade commented 5 years ago

I am having issues installing py-earth on Python 3.7.3.

Python version: Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)] on win32

In Anaconda prompt

git clone https://github.com/scikit-learn-contrib/py-earth.git
cd py-earth
python setup.py install

Returns the following:

running install
running bdist_egg
running egg_info
creating sklearn_contrib_py_earth.egg-info
writing sklearn_contrib_py_earth.egg-info\PKG-INFO
writing dependency_links to sklearn_contrib_py_earth.egg-info\dependency_links.txt
writing requirements to sklearn_contrib_py_earth.egg-info\requires.txt
writing top-level names to sklearn_contrib_py_earth.egg-info\top_level.txt
writing manifest file 'sklearn_contrib_py_earth.egg-info\SOURCES.txt'
reading manifest file 'sklearn_contrib_py_earth.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'pyearth\test\pathological_data'
writing manifest file 'sklearn_contrib_py_earth.egg-info\SOURCES.txt'
installing library code to build\bdist.win-amd64\egg
running install_lib
running build_py
creating build
creating build\lib.win-amd64-3.7
creating build\lib.win-amd64-3.7\pyearth
copying pyearth\earth.py -> build\lib.win-amd64-3.7\pyearth
copying pyearth\export.py -> build\lib.win-amd64-3.7\pyearth
copying pyearth\_version.py -> build\lib.win-amd64-3.7\pyearth
copying pyearth\__init__.py -> build\lib.win-amd64-3.7\pyearth
creating build\lib.win-amd64-3.7\pyearth\test
copying pyearth\test\testing_utils.py -> build\lib.win-amd64-3.7\pyearth\test
copying pyearth\test\test_earth.py -> build\lib.win-amd64-3.7\pyearth\test
copying pyearth\test\test_export.py -> build\lib.win-amd64-3.7\pyearth\test
copying pyearth\test\test_forward.py -> build\lib.win-amd64-3.7\pyearth\test
copying pyearth\test\test_knot_search.py -> build\lib.win-amd64-3.7\pyearth\test
copying pyearth\test\test_pruning.py -> build\lib.win-amd64-3.7\pyearth\test
copying pyearth\test\test_qr.py -> build\lib.win-amd64-3.7\pyearth\test
copying pyearth\test\test_util.py -> build\lib.win-amd64-3.7\pyearth\test
copying pyearth\test\__init__.py -> build\lib.win-amd64-3.7\pyearth\test
creating build\lib.win-amd64-3.7\pyearth\test\basis
copying pyearth\test\basis\base.py -> build\lib.win-amd64-3.7\pyearth\test\basis
copying pyearth\test\basis\test_basis.py -> build\lib.win-amd64-3.7\pyearth\test\basis
copying pyearth\test\basis\test_constant.py -> build\lib.win-amd64-3.7\pyearth\test\basis
copying pyearth\test\basis\test_hinge.py -> build\lib.win-amd64-3.7\pyearth\test\basis
copying pyearth\test\basis\test_linear.py -> build\lib.win-amd64-3.7\pyearth\test\basis
copying pyearth\test\basis\test_missingness.py -> build\lib.win-amd64-3.7\pyearth\test\basis
copying pyearth\test\basis\test_smoothed_hinge.py -> build\lib.win-amd64-3.7\pyearth\test\basis
copying pyearth\test\basis\__init__.py -> build\lib.win-amd64-3.7\pyearth\test\basis
creating build\lib.win-amd64-3.7\pyearth\test\record
copying pyearth\test\record\test_forward_pass.py -> build\lib.win-amd64-3.7\pyearth\test\record
copying pyearth\test\record\test_pruning_pass.py -> build\lib.win-amd64-3.7\pyearth\test\record
copying pyearth\test\record\__init__.py -> build\lib.win-amd64-3.7\pyearth\test\record
copying pyearth\_basis.c -> build\lib.win-amd64-3.7\pyearth
copying pyearth\_basis.pxd -> build\lib.win-amd64-3.7\pyearth
copying pyearth\_forward.c -> build\lib.win-amd64-3.7\pyearth
copying pyearth\_forward.pxd -> build\lib.win-amd64-3.7\pyearth
copying pyearth\_knot_search.c -> build\lib.win-amd64-3.7\pyearth
copying pyearth\_knot_search.pxd -> build\lib.win-amd64-3.7\pyearth
copying pyearth\_pruning.c -> build\lib.win-amd64-3.7\pyearth
copying pyearth\_pruning.pxd -> build\lib.win-amd64-3.7\pyearth
copying pyearth\_qr.c -> build\lib.win-amd64-3.7\pyearth
copying pyearth\_qr.pxd -> build\lib.win-amd64-3.7\pyearth
copying pyearth\_record.c -> build\lib.win-amd64-3.7\pyearth
copying pyearth\_record.pxd -> build\lib.win-amd64-3.7\pyearth
copying pyearth\_types.c -> build\lib.win-amd64-3.7\pyearth
copying pyearth\_types.pxd -> build\lib.win-amd64-3.7\pyearth
copying pyearth\_util.c -> build\lib.win-amd64-3.7\pyearth
copying pyearth\_util.pxd -> build\lib.win-amd64-3.7\pyearth
copying pyearth\test\earth_linvars_regress.txt -> build\lib.win-amd64-3.7\pyearth\test
copying pyearth\test\earth_regress.txt -> build\lib.win-amd64-3.7\pyearth\test
copying pyearth\test\earth_regress_missing_data.txt -> build\lib.win-amd64-3.7\pyearth\test
copying pyearth\test\earth_regress_smooth.txt -> build\lib.win-amd64-3.7\pyearth\test
copying pyearth\test\forward_regress.txt -> build\lib.win-amd64-3.7\pyearth\test
copying pyearth\test\test_data.csv -> build\lib.win-amd64-3.7\pyearth\test
UPDATING build\lib.win-amd64-3.7\pyearth/_version.py
set build\lib.win-amd64-3.7\pyearth/_version.py to '0.1.0'
running build_ext
building 'pyearth._util' extension
creating build\temp.win-amd64-3.7
creating build\temp.win-amd64-3.7\Release
creating build\temp.win-amd64-3.7\Release\pyearth
C:\Users\jhurwitz\AppData\Local\Continuum\anaconda3\Scripts\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IC:\Users\jhurwitz\AppData\Local\Continuum\anaconda3\lib\site-packages\numpy\core\include -IC:\Users\jhurwitz\AppData\Local\Continuum\anaconda3\include -IC:\Users\jhurwitz\AppData\Local\Continuum\anaconda3\include /Tcpyearth/_util.c /Fobuild\temp.win-amd64-3.7\Release\pyearth/_util.obj
Usage: cl [options]

cl: error: no such option: -I
error: command 'C:\\Users\\jhurwitz\\AppData\\Local\\Continuum\\anaconda3\\Scripts\\cl.exe' failed with exit status 2

I have also tried to install from the cp36 wheeler file, since I believe the issue is arising when attempting to build it locally. However, that wheeler version looks to be outdated for my version of Python.

gulls-on-parade commented 5 years ago

Found a pre-compiled version on https://www.lfd.uci.edu/~gohlke/pythonlibs/ that worked.