diff options
Diffstat (limited to 'python')
-rw-r--r-- | python/README.rst | 24 | ||||
-rw-r--r-- | python/setup.py | 68 |
2 files changed, 15 insertions, 77 deletions
diff --git a/python/README.rst b/python/README.rst index 9436ae1..7d9a1e6 100644 --- a/python/README.rst +++ b/python/README.rst @@ -45,26 +45,31 @@ Installation Suppose you have checked out the PHAT repository at location $PHAT. Then you can:: - cd $PHAT/python + cd $PHAT - ln -s ../include include # (or copy, we just need $PHAT/include to be in the current folder as well) + pip install . - pip install pybind11 - - python setup.py install - -This will install PHAT for whatever Python installation your ``python`` executable is associated with. +This will install PHAT for whatever Python installation your ``pip`` executable is associated with. Please ensure you use the ``pip`` that comes from the same directory where your ``python`` executable lives! Currently, the PHAT Python bindings are known to work on: * Linux with Python 2.7 (tested on Ubuntu 14.04 with system Python) * Linux with Python 3.5 (tested on Ubuntu 14.04 with Anaconda) -* Mac OS X with Python 2.7 (tested on El Capitan with Anaconda) -* Mac OS X with Python 3.5 (tested on El Capitan with Anaconda) +* Mac OS X with Python 2.7.12 (tested on Sierra with homebrew) +* Mac OS X with Python 3.5 (tested on Sierra with homebrew) Other configurations are untested. +Please note that this package DOES NOT work with the Python 2.7.10 that ships with the operating +system in Mac OS X. These words of wisdom from `python.org`_ are worth heeding: + + The version of Python that ships with OS X is great for learning but it’s not good for development. + The version shipped with OS X may be out of date from the official current Python release, + which is considered the stable production version. + +We recommend installing Python on Mac OS X using either homebrew or Anaconda, according to your taste. + Please let us know if there is a platform you'd like us to support, we will do so if we can. Sample usage @@ -128,3 +133,4 @@ References: .. [4] U.Bauer, M.Kerber, J.Reininghaus: Clear and Compress: Computing Persistent Homology in Chunks. arXiv:1303.0477_ .. _arXiv:1303.0477: http://arxiv.org/pdf/1303.0477.pdf .. _`Persistent Homology Algorithm Toolkit`: https://bitbucket.org/phat/phat-code +.. _`python.org`:http://docs.python-guide.org/en/latest/starting/install/osx/ diff --git a/python/setup.py b/python/setup.py deleted file mode 100644 index f366e88..0000000 --- a/python/setup.py +++ /dev/null @@ -1,68 +0,0 @@ -from setuptools import setup, Extension, find_packages -from setuptools.command.build_ext import build_ext -import sys -import os.path -from io import open - -if sys.version_info < (2, 7, 11): - print("Sorry, PHAT requires Python 2.7.11 or later") - sys.exit(1) - - -ext_modules = [ - Extension( - '_phat', - ['_phat.cpp'], - include_dirs=['include', - '../include'], - language='c++', - ), -] - -here = os.path.abspath(os.path.dirname(__file__)) - -# Get the long description from the README file -with open(os.path.join(here, 'README.rst'), encoding = 'utf8') as f: - long_description = f.read() - -class BuildExt(build_ext): - """A custom build extension for adding compiler-specific options.""" - c_opts = { - 'msvc': ['/EHsc'], - 'unix': ['-std=c++11'], - } - - if sys.platform == 'darwin': - c_opts['unix'] += ['-stdlib=libc++', '-mmacosx-version-min=10.7'] - - def build_extensions(self): - ct = self.compiler.compiler_type - opts = self.c_opts.get(ct, []) - import pybind11 - for ext in self.extensions: - ext.extra_compile_args = opts - ext.include_dirs.append(pybind11.get_include()) - ext.include_dirs.append(pybind11.get_include(user=True)) - build_ext.build_extensions(self) - -setup( - name='phat', - version='0.0.1', - author='Bryn Keller', - author_email='bryn.keller@intel.com', - url='https://bitbucket.org/phat-code/phat', - description='Python bindings for PHAT', - license = 'LGPL', - keywords='algebraic-topology PHAT distributed topology persistent-homology', - long_description=long_description, - ext_modules=ext_modules, - install_requires=['pybind11'], - cmdclass={'build_ext': BuildExt}, - py_modules = ['phat'], - # packages = find_packages(exclude = ['doc', 'test']) - ) - - - - - |