diff options
author | Charles Harris <charlesr.harris@gmail.com> | 2013-03-04 22:47:03 -0700 |
---|---|---|
committer | Charles Harris <charlesr.harris@gmail.com> | 2013-03-05 09:09:46 -0700 |
commit | baeaeac6885d67238321101863a7753d366c535e (patch) | |
tree | 042f0111af21c91c8160037d4b5ceba01baacd53 | |
parent | 3ba223e867dd6a2bda130d0630ee9aad3c32ae97 (diff) | |
download | numpy-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
-rw-r--r-- | numpy/distutils/core.py | 16 | ||||
-rw-r--r-- | numpy/distutils/fcompiler/gnu.py | 4 | ||||
-rw-r--r-- | numpy/distutils/interactive.py | 190 | ||||
-rwxr-xr-x | tools/py3tool.py | 4 |
4 files changed, 5 insertions, 209 deletions
diff --git a/numpy/distutils/core.py b/numpy/distutils/core.py index 092ea4442..f450b1564 100644 --- a/numpy/distutils/core.py +++ b/numpy/distutils/core.py @@ -104,24 +104,8 @@ def get_distribution(always=False): dist = NumpyDistribution() return dist -def _exit_interactive_session(_cache=[]): - if _cache: - return # been here - _cache.append(1) - print('-'*72) - raw_input('Press ENTER to close the interactive session..') - print('='*72) - def setup(**attr): - if len(sys.argv)<=1 and not attr.get('script_args',[]): - from interactive import interactive_sys_argv - import atexit - atexit.register(_exit_interactive_session) - sys.argv[:] = interactive_sys_argv(sys.argv) - if len(sys.argv)>1: - return setup(**attr) - cmdclass = numpy_cmdclass.copy() new_attr = attr.copy() diff --git a/numpy/distutils/fcompiler/gnu.py b/numpy/distutils/fcompiler/gnu.py index a2e613d0c..c26e81fcd 100644 --- a/numpy/distutils/fcompiler/gnu.py +++ b/numpy/distutils/fcompiler/gnu.py @@ -372,10 +372,11 @@ def _can_target(cmd, arch): if __name__ == '__main__': from distutils import log log.set_verbosity(2) + compiler = GnuFCompiler() compiler.customize() print(compiler.get_version()) - raw_input('Press ENTER to continue...') + try: compiler = Gnu95FCompiler() compiler.customize() @@ -383,4 +384,3 @@ if __name__ == '__main__': except Exception: msg = get_exception() print(msg) - raw_input('Press ENTER to continue...') 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 diff --git a/tools/py3tool.py b/tools/py3tool.py index 76ca2f026..be7a6cce8 100755 --- a/tools/py3tool.py +++ b/tools/py3tool.py @@ -76,7 +76,9 @@ FIXES_TO_SKIP = [ 'execfile', 'exec', 'callable', - 'apply' + 'apply', + 'input', + 'raw_input' ] skip_fixes= [] |