Merge pull request #549 from phunterlau/master
Fix data file shipping confusions on pip install for #463
This commit is contained in:
commit
06f502a1aa
1
Makefile
1
Makefile
@ -189,7 +189,6 @@ pythonpack:
|
|||||||
cp -r multi-node xgboost-deploy/xgboost
|
cp -r multi-node xgboost-deploy/xgboost
|
||||||
cp -r windows xgboost-deploy/xgboost
|
cp -r windows xgboost-deploy/xgboost
|
||||||
cp -r src xgboost-deploy/xgboost
|
cp -r src xgboost-deploy/xgboost
|
||||||
|
|
||||||
#make python
|
#make python
|
||||||
|
|
||||||
pythonbuild:
|
pythonbuild:
|
||||||
|
|||||||
@ -5,3 +5,10 @@ recursive-include xgboost/windows *
|
|||||||
recursive-include xgboost/subtree *
|
recursive-include xgboost/subtree *
|
||||||
recursive-include xgboost/src *
|
recursive-include xgboost/src *
|
||||||
recursive-include xgboost/multi-node *
|
recursive-include xgboost/multi-node *
|
||||||
|
#exclude pre-compiled .o file for less confusions
|
||||||
|
#include the pre-compiled .so is needed as a placeholder
|
||||||
|
#since it will be copy after compiling on the fly
|
||||||
|
global-exclude xgboost/wrapper/*.so.gz
|
||||||
|
global-exclude xgboost/*.o
|
||||||
|
global-exclude *.pyo
|
||||||
|
global-exclude *.pyc
|
||||||
|
|||||||
@ -2,20 +2,22 @@
|
|||||||
"""Setup xgboost package."""
|
"""Setup xgboost package."""
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
import sys
|
import sys
|
||||||
|
import os
|
||||||
from setuptools import setup, find_packages
|
from setuptools import setup, find_packages
|
||||||
import subprocess
|
#import subprocess
|
||||||
sys.path.insert(0, '.')
|
sys.path.insert(0, '.')
|
||||||
|
|
||||||
import os
|
|
||||||
#build on the fly if install in pip
|
#build on the fly if install in pip
|
||||||
#otherwise, use build.sh in the parent directory
|
#otherwise, use build.sh in the parent directory
|
||||||
|
|
||||||
if 'pip' in __file__:
|
#ugly solution since pip version transition and the old pip detection method not
|
||||||
|
#working. Manually turn on when packing up for pip installation
|
||||||
|
if False:
|
||||||
if not os.name == 'nt': #if not windows
|
if not os.name == 'nt': #if not windows
|
||||||
build_sh = subprocess.Popen(['sh', 'xgboost/build-python.sh'])
|
os.system('sh ./xgboost/build-python.sh')
|
||||||
build_sh.wait()
|
else:
|
||||||
output = build_sh.communicate()
|
print('Windows users please use github installation.')
|
||||||
print(output)
|
sys.exit()
|
||||||
|
|
||||||
|
|
||||||
CURRENT_DIR = os.path.dirname(__file__)
|
CURRENT_DIR = os.path.dirname(__file__)
|
||||||
@ -28,7 +30,6 @@ libpath = {'__file__': libpath_py}
|
|||||||
exec(compile(open(libpath_py, "rb").read(), libpath_py, 'exec'), libpath, libpath)
|
exec(compile(open(libpath_py, "rb").read(), libpath_py, 'exec'), libpath, libpath)
|
||||||
|
|
||||||
LIB_PATH = libpath['find_lib_path']()
|
LIB_PATH = libpath['find_lib_path']()
|
||||||
#print LIB_PATH
|
|
||||||
|
|
||||||
#to deploy to pip, please use
|
#to deploy to pip, please use
|
||||||
#make pythonpack
|
#make pythonpack
|
||||||
@ -36,7 +37,7 @@ LIB_PATH = libpath['find_lib_path']()
|
|||||||
#and be sure to test it firstly using "python setup.py register sdist upload -r pypitest"
|
#and be sure to test it firstly using "python setup.py register sdist upload -r pypitest"
|
||||||
setup(name='xgboost',
|
setup(name='xgboost',
|
||||||
version=open(os.path.join(CURRENT_DIR, 'xgboost/VERSION')).read().strip(),
|
version=open(os.path.join(CURRENT_DIR, 'xgboost/VERSION')).read().strip(),
|
||||||
#version='0.4a13',
|
#version='0.4a23',
|
||||||
description=open(os.path.join(CURRENT_DIR, 'README.md')).read(),
|
description=open(os.path.join(CURRENT_DIR, 'README.md')).read(),
|
||||||
install_requires=[
|
install_requires=[
|
||||||
'numpy',
|
'numpy',
|
||||||
@ -53,5 +54,7 @@ setup(name='xgboost',
|
|||||||
#this will use MANIFEST.in during install where we specify additional files,
|
#this will use MANIFEST.in during install where we specify additional files,
|
||||||
#this is the golden line
|
#this is the golden line
|
||||||
include_package_data=True,
|
include_package_data=True,
|
||||||
data_files=[('xgboost', LIB_PATH)],
|
#!!! don't use data_files, otherwise install_data process will copy it to
|
||||||
|
#root directory for some machines, and cause confusions on building
|
||||||
|
#data_files=[('xgboost', LIB_PATH)],
|
||||||
url='https://github.com/dmlc/xgboost')
|
url='https://github.com/dmlc/xgboost')
|
||||||
|
|||||||
@ -11,6 +11,8 @@
|
|||||||
|
|
||||||
|
|
||||||
pushd xgboost
|
pushd xgboost
|
||||||
|
#remove the pre-compiled .so and trigger the system's on-the-fly compiling
|
||||||
|
make clean
|
||||||
if make python; then
|
if make python; then
|
||||||
echo "Successfully build multi-thread xgboost"
|
echo "Successfully build multi-thread xgboost"
|
||||||
else
|
else
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user