diff options
author | Charles Harris <charlesr.harris@gmail.com> | 2018-08-22 11:57:48 -0600 |
---|---|---|
committer | Charles Harris <charlesr.harris@gmail.com> | 2018-08-23 13:51:42 -0600 |
commit | f22a33b71dc767d81ed60f40c3b84456d2a33f79 (patch) | |
tree | bc0c5b82c765cca7fd5272a1fc45e100d2cc8f12 /numpy/f2py/setup.py | |
parent | d0a0e38815206ee72413942af7f1241e85ec8051 (diff) | |
download | numpy-f22a33b71dc767d81ed60f40c3b84456d2a33f79.tar.gz |
ENH: Use entry_points to install the f2py scripts.
This adds entry_points for the f2py scripts. The installed scripts
differ between Windows and other environments.
* On Windows, the only script installed is 'f2py'. This works well in
that environment because each Python version is installed in its own
directory, making it easy to keep the differing script versions
separate.
* Otherwise, three scripts are installed, 'f2py', 'f2py' + 'minor', and
'f2py' + 'major.minor'. For instance, if Numpy is installed by
Python 2.7, then the installed scripts will be named 'f2py', 'f2py2',
and 'f2py2.7'. That naming scheme is used for back compatibility, and
also so that more than one Python version can be dealt with in a way
common to many Linux distros. Note that 'f2py' will always point to
the latest install and 'f2py(2|3)' to the latest Python (2|3) install
The script tests have been modified to check for the new environment
and the code previously used to install the scripts has been removed.
Diffstat (limited to 'numpy/f2py/setup.py')
-rw-r--r-- | numpy/f2py/setup.py | 50 |
1 files changed, 5 insertions, 45 deletions
diff --git a/numpy/f2py/setup.py b/numpy/f2py/setup.py index 73cb3b8bf..e95b9584f 100644 --- a/numpy/f2py/setup.py +++ b/numpy/f2py/setup.py @@ -18,8 +18,6 @@ Pearu Peterson """ from __future__ import division, print_function -__version__ = "$Id: setup.py,v 1.32 2005/01/30 17:22:14 pearu Exp $" - import os import sys from distutils.dep_util import newer @@ -27,60 +25,22 @@ from numpy.distutils import log from numpy.distutils.core import setup from numpy.distutils.misc_util import Configuration -from __version__ import version - - -def _get_f2py_shebang(): - """ Return shebang line for f2py script - If we are building a binary distribution format, then the shebang line - should be ``#!python`` rather than ``#!`` followed by the contents of - ``sys.executable``. - """ - if set(('bdist_wheel', 'bdist_egg', 'bdist_wininst', - 'bdist_rpm')).intersection(sys.argv): - return '#!python' - return '#!' + sys.executable +from __version__ import version def configuration(parent_package='', top_path=None): config = Configuration('f2py', parent_package, top_path) - config.add_data_dir('tests') - - config.add_data_files('src/fortranobject.c', - 'src/fortranobject.h', - ) - - config.make_svn_version_py() - - def generate_f2py_py(build_dir): - f2py_exe = 'f2py' + os.path.basename(sys.executable)[6:] - if f2py_exe[-4:] == '.exe': - f2py_exe = f2py_exe[:-4] + '.py' - if 'bdist_wininst' in sys.argv and f2py_exe[-3:] != '.py': - f2py_exe = f2py_exe + '.py' - target = os.path.join(build_dir, f2py_exe) - if newer(__file__, target): - log.info('Creating %s', target) - f = open(target, 'w') - f.write(_get_f2py_shebang() + '\n') - mainloc = os.path.join(os.path.dirname(__file__), "__main__.py") - with open(mainloc) as mf: - f.write(mf.read()) - f.close() - return target - - config.add_scripts(generate_f2py_py) - - log.info('F2PY Version %s', config.get_version()) - + config.add_data_files( + 'src/fortranobject.c', + 'src/fortranobject.h') return config + if __name__ == "__main__": config = configuration(top_path='') - print('F2PY Version', version) config = config.todict() config['download_url'] = "http://cens.ioc.ee/projects/f2py2e/2.x"\ |