summaryrefslogtreecommitdiff
path: root/numpy/distutils/interactive.py
diff options
context:
space:
mode:
authorCharles Harris <charlesr.harris@gmail.com>2013-03-04 22:47:03 -0700
committerCharles Harris <charlesr.harris@gmail.com>2013-03-05 09:09:46 -0700
commitbaeaeac6885d67238321101863a7753d366c535e (patch)
tree042f0111af21c91c8160037d4b5ceba01baacd53 /numpy/distutils/interactive.py
parent3ba223e867dd6a2bda130d0630ee9aad3c32ae97 (diff)
downloadnumpy-baeaeac6885d67238321101863a7753d366c535e.tar.gz
2to3:DEP: Remove interactive setup and gnu compiler configuration.
These havn't been deprecated, but I think few have heard of them, much less used them. Before this change, running setup.py without any arguments would result in interactive help. This patch removes that interactive help and lets setup print its usual list of commands and options. All the script uses of the numpy/distutils/fcompiler compilers look quite broken to me, but I have tried to maintain compatibility with the earlier version of gnu.py after the removal of `raw_input`. These removals solve an incompatibility between Python3 and Python2. The current interactive setup help uses `raw_input`, which has been removed in python3 and replaced by `input`. However, python2 already has an `input` that has different semantics. Rather than deal with this, I think it simpler to keep both `raw_input` and `input` out of numpy. Closes #3063 Closes #3079
Diffstat (limited to 'numpy/distutils/interactive.py')
-rw-r--r--numpy/distutils/interactive.py190
1 files changed, 0 insertions, 190 deletions
diff --git a/numpy/distutils/interactive.py b/numpy/distutils/interactive.py
deleted file mode 100644
index a75d5a7e8..000000000
--- a/numpy/distutils/interactive.py
+++ /dev/null
@@ -1,190 +0,0 @@
-from __future__ import division
-
-import os
-import sys
-from pprint import pformat
-
-__all__ = ['interactive_sys_argv']
-
-def show_information(*args):
- print 'Python',sys.version
- for a in ['platform','prefix','byteorder','path']:
- print 'sys.%s = %s' % (a,pformat(getattr(sys,a)))
- for a in ['name']:
- print 'os.%s = %s' % (a,pformat(getattr(os,a)))
- if hasattr(os,'uname'):
- print 'system,node,release,version,machine = ',os.uname()
-
-def show_environ(*args):
- for k,i in os.environ.items():
- print ' %s = %s' % (k, i)
-
-def show_fortran_compilers(*args):
- from fcompiler import show_fcompilers
- show_fcompilers()
-
-def show_compilers(*args):
- from distutils.ccompiler import show_compilers
- show_compilers()
-
-def show_tasks(argv,ccompiler,fcompiler):
- print """\
-
-Tasks:
- i - Show python/platform/machine information
- ie - Show environment information
- c - Show C compilers information
- c<name> - Set C compiler (current:%s)
- f - Show Fortran compilers information
- f<name> - Set Fortran compiler (current:%s)
- e - Edit proposed sys.argv[1:].
-
-Task aliases:
- 0 - Configure
- 1 - Build
- 2 - Install
- 2<prefix> - Install with prefix.
- 3 - Inplace build
- 4 - Source distribution
- 5 - Binary distribution
-
-Proposed sys.argv = %s
- """ % (ccompiler, fcompiler, argv)
-
-
-import shlex
-
-def edit_argv(*args):
- argv = args[0]
- readline = args[1]
- if readline is not None:
- readline.add_history(' '.join(argv[1:]))
- try:
- s = raw_input('Edit argv [UpArrow to retrive %r]: ' % (' '.join(argv[1:])))
- except EOFError:
- return
- if s:
- argv[1:] = shlex.split(s)
- return
-
-def interactive_sys_argv(argv):
- print '='*72
- print 'Starting interactive session'
- print '-'*72
-
- readline = None
- try:
- try:
- import readline
- except ImportError:
- pass
- else:
- import tempfile
- tdir = tempfile.gettempdir()
- username = os.environ.get('USER',os.environ.get('USERNAME','UNKNOWN'))
- histfile = os.path.join(tdir,".pyhist_interactive_setup-" + username)
- try:
- try: readline.read_history_file(histfile)
- except IOError: pass
- import atexit
- atexit.register(readline.write_history_file, histfile)
- except AttributeError: pass
- except Exception as msg:
- print msg
-
- task_dict = {'i':show_information,
- 'ie':show_environ,
- 'f':show_fortran_compilers,
- 'c':show_compilers,
- 'e':edit_argv,
- }
- c_compiler_name = None
- f_compiler_name = None
-
- while 1:
- show_tasks(argv,c_compiler_name, f_compiler_name)
- try:
- task = raw_input('Choose a task (^D to quit, Enter to continue with setup): ')
- except EOFError:
- print
- task = 'quit'
- ltask = task.lower()
- if task=='': break
- if ltask=='quit': sys.exit()
- task_func = task_dict.get(ltask,None)
- if task_func is None:
- if ltask[0]=='c':
- c_compiler_name = task[1:]
- if c_compiler_name=='none':
- c_compiler_name = None
- continue
- if ltask[0]=='f':
- f_compiler_name = task[1:]
- if f_compiler_name=='none':
- f_compiler_name = None
- continue
- if task[0]=='2' and len(task)>1:
- prefix = task[1:]
- task = task[0]
- else:
- prefix = None
- if task == '4':
- argv[1:] = ['sdist','-f']
- continue
- elif task in '01235':
- cmd_opts = {'config':[],'config_fc':[],
- 'build_ext':[],'build_src':[],
- 'build_clib':[]}
- if c_compiler_name is not None:
- c = '--compiler=%s' % (c_compiler_name)
- cmd_opts['config'].append(c)
- if task != '0':
- cmd_opts['build_ext'].append(c)
- cmd_opts['build_clib'].append(c)
- if f_compiler_name is not None:
- c = '--fcompiler=%s' % (f_compiler_name)
- cmd_opts['config_fc'].append(c)
- if task != '0':
- cmd_opts['build_ext'].append(c)
- cmd_opts['build_clib'].append(c)
- if task=='3':
- cmd_opts['build_ext'].append('--inplace')
- cmd_opts['build_src'].append('--inplace')
- conf = []
- sorted_keys = ['config','config_fc','build_src',
- 'build_clib','build_ext']
- for k in sorted_keys:
- opts = cmd_opts[k]
- if opts: conf.extend([k]+opts)
- if task=='0':
- if 'config' not in conf:
- conf.append('config')
- argv[1:] = conf
- elif task=='1':
- argv[1:] = conf+['build']
- elif task=='2':
- if prefix is not None:
- argv[1:] = conf+['install','--prefix=%s' % (prefix)]
- else:
- argv[1:] = conf+['install']
- elif task=='3':
- argv[1:] = conf+['build']
- elif task=='5':
- if sys.platform=='win32':
- argv[1:] = conf+['bdist_wininst']
- else:
- argv[1:] = conf+['bdist']
- else:
- print 'Skipping unknown task:',`task`
- else:
- print '-'*68
- try:
- task_func(argv,readline)
- except Exception as msg:
- print 'Failed running task %s: %s' % (task,msg)
- break
- print '-'*68
- print
-
- print '-'*72
- return argv