69 lines
2.5 KiB
Python
69 lines
2.5 KiB
Python
# pylint: disable=invalid-name, exec-used
|
|
"""Setup xgboost package."""
|
|
from __future__ import absolute_import
|
|
import io
|
|
import sys
|
|
import os
|
|
from setuptools import setup, find_packages
|
|
|
|
# import subprocess
|
|
sys.path.insert(0, '.')
|
|
|
|
CURRENT_DIR = os.path.dirname(__file__)
|
|
|
|
# We can not import `xgboost.libpath` in setup.py directly since xgboost/__init__.py
|
|
# import `xgboost.core` and finally will import `numpy` and `scipy` which are setup
|
|
# `install_requires`. That's why we're using `exec` here.
|
|
libpath_py = os.path.join(CURRENT_DIR, 'xgboost/libpath.py')
|
|
libpath = {'__file__': libpath_py}
|
|
exec(compile(open(libpath_py, "rb").read(), libpath_py, 'exec'), libpath, libpath)
|
|
|
|
LIB_PATH = []
|
|
for libfile in libpath['find_lib_path']():
|
|
try:
|
|
relpath = os.path.relpath(libfile, CURRENT_DIR)
|
|
LIB_PATH.append(relpath)
|
|
break # need only one
|
|
except ValueError:
|
|
continue
|
|
|
|
print("Install libxgboost from: %s" % LIB_PATH)
|
|
|
|
# Please use setup_pip.py for generating and deploying pip installation
|
|
# detailed instruction in setup_pip.py
|
|
setup(name='xgboost',
|
|
version=open(os.path.join(CURRENT_DIR, 'xgboost/VERSION')).read().strip(),
|
|
description="XGBoost Python Package",
|
|
long_description=io.open(os.path.join(CURRENT_DIR, 'README.rst'), encoding='utf-8').read(),
|
|
install_requires=[
|
|
'numpy',
|
|
'scipy',
|
|
],
|
|
extras_require={
|
|
'pandas': ['pandas'],
|
|
'sklearn': ['sklearn'],
|
|
'dask': ['dask', 'pandas', 'distributed'],
|
|
'datatable': ['datatable'],
|
|
'plotting': ['graphviz', 'matplotlib']
|
|
},
|
|
maintainer='Hyunsu Cho',
|
|
maintainer_email='chohyu01@cs.washington.edu',
|
|
zip_safe=False,
|
|
packages=find_packages(),
|
|
# this will use MANIFEST.in during install where we specify additional files,
|
|
# this is the golden line
|
|
include_package_data=True,
|
|
data_files=[('xgboost', LIB_PATH)],
|
|
license='Apache-2.0',
|
|
classifiers=['License :: OSI Approved :: Apache Software License',
|
|
'Development Status :: 5 - Production/Stable',
|
|
'Operating System :: OS Independent',
|
|
'Programming Language :: Python',
|
|
'Programming Language :: Python :: 3',
|
|
'Programming Language :: Python :: 3.5',
|
|
'Programming Language :: Python :: 3.6',
|
|
'Programming Language :: Python :: 3.7',
|
|
'Programming Language :: Python :: 3.8'],
|
|
python_requires='>=3.5',
|
|
url='https://github.com/dmlc/xgboost')
|