PyPI (pip installation) setup for 0.6 code (#1445)

* force gcc-5 or clang-omp for Mac OS, prepare for pip pack

* add sklearn dep, make -j4

* finalize PyPI submission

* revert to Xcode clang for passing build #1468

* force to clang, try to solve cmake travis error

* remove sklearn dependency
This commit is contained in:
Hongliang Liu
2016-08-10 05:45:56 -07:00
committed by Yuan (Terry) Tang
parent 62e5b6b8b3
commit c5a2b79558
6 changed files with 54 additions and 11 deletions

View File

@@ -2,10 +2,15 @@ include *.md *.rst
recursive-include xgboost *
recursive-include xgboost/include *
recursive-include xgboost/src *
#exclude pre-compiled .o file for less confusions
recursive-include xgboost/make *
recursive-include xgboost/rabit *
recursive-include xgboost/lib *
recursive-include xgboost/dmlc-core *
#exclude pre-compiled .o and .a file for less confusions
#make sure .a files are all removed for forcing compiling
#include the pre-compiled .so is needed as a placeholder
#since it will be copy after compiling on the fly
global-exclude xgboost/build/*
global-exclude xgboost/*.o
global-exclude *.o
global-exclude *.a
global-exclude *.pyo
global-exclude *.pyc

View File

@@ -10,6 +10,13 @@ We are on `PyPI <https://pypi.python.org/pypi/xgboost>`__ now. For
stable version, please install using pip:
- ``pip install xgboost``
- Since this package contains C++ source code, ``pip`` needs a C++ compiler from the system
to compile the source code on-the-fly. Please follow the following instruction for each
supported platform.
- Note for Mac OS X users: please install ``gcc`` from ``brew`` by
``brew tap homebrew/versions; brew install gcc --without-multilib`` firstly.
- Note for Linux users: please install ``gcc`` by ``sudo apt-get install build-essential`` firstly
or using the corresponding package manager of the system.
- Note for windows users: this pip installation may not work on some
windows environment, and it may cause unexpected errors. pip
installation on windows is currently disabled for further
@@ -37,10 +44,10 @@ Examples
--------
- Refer also to the walk through example in `demo
folder <../demo/guide-python>`__
- See also the `example scripts <../demo/kaggle-higgs>`__ for Kaggle
folder <https://github.com/dmlc/xgboost/tree/master/demo/guide-python>`__
- See also the `example scripts <https://github.com/dmlc/xgboost/tree/master/demo/kaggle-higgs>`__ for Kaggle
Higgs Challenge, including `speedtest
script <../demo/kaggle-higgs/speedtest.py>`__ on this dataset.
script <https://github.com/dmlc/xgboost/tree/master/demo/kaggle-higgs/speedtest.py>`__ on this dataset.
Note
----
@@ -48,7 +55,7 @@ Note
- If you want to build xgboost on Mac OS X with multiprocessing support
where clang in XCode by default doesn't support, please install gcc
4.9 or higher using `homebrew <http://brew.sh/>`__
``brew tap homebrew/versions; brew install gcc49``
``brew tap homebrew/versions; brew install gcc --without-multilib``
- If you want to run XGBoost process in parallel using the fork backend
for joblib/multiprocessing, you must build XGBoost without support
for OpenMP by ``make no_omp=1``. Otherwise, use the forkserver (in

View File

@@ -0,0 +1,11 @@
# this script is for preparation for PyPI installation package,
# please don't use it for installing xgboost from github
# after executing `make pippack`, cd xgboost-python,
#run this script and get the sdist tar.gz in ./dist/
sh ./xgboost/build-python.sh
cp setup_pip.py setup.py
python setup.py sdist
#make sure you know what you gonna do, and uncomment the following line
#python setup.py register upload

View File

@@ -34,8 +34,8 @@ LIB_PATH = libpath['find_lib_path']()
# and be sure to test it firstly using "python setup.py register sdist upload -r pypitest"
setup(name='xgboost',
# version=open(os.path.join(CURRENT_DIR, 'xgboost/VERSION')).read().strip(),
version='0.4a30',
description=open(os.path.join(CURRENT_DIR, 'README.rst')).read(),
version='0.6a2',
description='XGBoost Python Package',
install_requires=[
'numpy',
'scipy',

View File

@@ -15,14 +15,14 @@ oldpath=`pwd`
cd ./xgboost/
#remove the pre-compiled .so and trigger the system's on-the-fly compiling
make clean
if make python; then
if make lib/libxgboost.so -j4; then
echo "Successfully build multi-thread xgboost"
else
echo "-----------------------------"
echo "Building multi-thread xgboost failed"
echo "Start to build single-thread xgboost"
make clean
make python no_omp=1
make lib/libxgboost.so -j4 no_omp=1
echo "Successfully build single-thread xgboost"
echo "If you want multi-threaded version"
echo "See additional instructions in doc/build.md"