blob: 45d761e53dea4bb0a42f738c7981a0ec6c78b1cb [file] [log] [blame]
# pylint: disable=invalid-name, exec-used
"""Setup mxnet package."""
from __future__ import absolute_import
import os
import shutil
from setuptools import setup, find_packages
from setuptools.dist import Distribution
# We can not import `mxnet.info.py` in setup.py directly since mxnet/__init__.py
# Will be invoked which introduces dependences
CURRENT_DIR = os.path.dirname(__file__)
libinfo_py = os.path.join(CURRENT_DIR, '../../python/mxnet/libinfo.py')
libinfo = {'__file__': libinfo_py}
exec(compile(open(libinfo_py, "rb").read(), libinfo_py, 'exec'), libinfo, libinfo)
LIB_PATH = libinfo['find_lib_path']()
__version__ = libinfo['__version__']
class BinaryDistribution(Distribution):
def has_ext_modules(self):
return True
DEPENDENCIES = [
'numpy',
]
shutil.rmtree(os.path.join(CURRENT_DIR, 'mxnet'), ignore_errors=True)
shutil.copytree(os.path.join(CURRENT_DIR, '../../python/mxnet'),
os.path.join(CURRENT_DIR, 'mxnet'))
shutil.copy(LIB_PATH[0], os.path.join(CURRENT_DIR, 'mxnet'))
setup(name='mxnet',
version=__version__,
description=open(os.path.join(CURRENT_DIR, 'README.md')).read(),
zip_safe=False,
packages=find_packages(),
package_data={'mxnet': [os.path.join('mxnet', os.path.basename(LIB_PATH[0]))]},
include_package_data=True,
install_requires=DEPENDENCIES,
distclass=BinaryDistribution,
url='https://github.com/dmlc/mxnet')