*************************************************************************** IPython post-mortem report IPython version: 0.7.0 SVN revision : $Revision: 1000 $ Platform info : os.name -> posix, sys.platform -> linux2 *************************************************************************** Current user configuration structure: {'Version': 0, 'alias': [''], 'args': [], 'autocall': 1, 'autoedit_syntax': 1, 'autoindent': 1, 'automagic': 1, 'banner': 1, 'c': '', 'cache_size': 1000, 'classic': 0, 'color_info': 1, 'colors': 'LightBG', 'confirm_exit': 1, 'debug': 0, 'deep_reload': 0, 'editor': '0', 'execfile': [], 'execute': ['', 'import time', "__cmd = '/home/swalton/test/foo-%s.log rotate'", "__IP.magic_logstart(__cmd % time.strftime('%Y-%m-%d'))"], 'gthread': 0, 'help': 0, 'ignore': 0, 'import_all': [], 'import_mod': [], 'import_some': [[]], 'include': ['ipythonrc'], 'ipythondir': '/home/swalton/.ipython', 'log': 0, 'logfile': "'' # cancel earlier logfile invocation", 'logplay': '', 'magic_docstrings': 0, 'messages': 1, 'multi_line_specials': 1, 'nosep': 0, 'opts': Struct({'profile': 'autolog'}), 'pdb': 0, 'pprint': 1, 'profile': 'autolog', 'prompt_in1': 'In [\\#]:', 'prompt_in2': ' .\\D.:', 'prompt_out': 'Out[\\#]:', 'prompts_pad_left': 1, 'pylab': 0, 'qthread': 0, 'quick': 0, 'rcfile': 'ipythonrc', 'readline': 1, 'readline_merge_completions': 1, 'readline_omit__names': 0, 'readline_parse_and_bind': ['tab: complete', '"\\C-l": possible-completions', 'set show-all-if-ambiguous on', '"\\C-o": tab-insert', '"\\M-i": " "', '"\\M-o": "\\d\\d\\d\\d"', '"\\M-I": "\\d\\d\\d\\d"', '"\\C-r": reverse-search-history', '"\\C-s": forward-search-history', '"\\C-p": history-search-backward', '"\\C-n": history-search-forward'], 'readline_remove_delims': '\'"[]{}-/~', 'screen_length': 0, 'separate_in': '\\n', 'separate_out': '0', 'separate_out2': '0', 'system_verbose': 0, 'tk': 0, 'upgrade': 0, 'wildcards_case_sensitive': 1, 'wthread': 0, 'wxversion': '0', 'xmode': 'Context'} *************************************************************************** Crash traceback: --------------------------------------------------------------------------- exceptions.AttributeError Python 2.4.1: /usr/bin/python Wed Jan 18 11:38:46 2006 A problem occured executing Python code. Here is the sequence of function calls leading up to the error, with the most recent (innermost) call last. /usr/bin/ipython 13 14 [or simply IPython.Shell.IPShell().mainloop(1) ] 15 16 and IPython will be your working environment when you start python. The final 17 sys.exit() call will make python exit transparently when IPython finishes, so 18 you don't have an extra prompt to get out of. 19 20 This is probably useful to developers who manage multiple Python versions and 21 don't want to have correspondingly multiple IPython versions. Note that in 22 this mode, there is no way to pass IPython any command-line options, as those 23 are trapped first by Python itself. 24 """ 25 26 import IPython 27 ---> 28 IPython.Shell.start().mainloop() IPython.Shell.start.mainloop = undefined 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 /usr/lib/python2.4/site-packages/IPython/Shell.py in start() 913 if arg2.endswith('-tk'): 914 USE_TK = True 915 arg1 = argv[1] 916 if arg1.endswith('-gthread'): 917 shell = IPShellGTK 918 elif arg1.endswith( '-qthread' ): 919 shell = IPShellQt 920 elif arg1.endswith('-wthread'): 921 shell = IPShellWX 922 elif arg1.endswith('-pylab'): 923 shell = _matplotlib_shell_class() 924 else: 925 shell = IPShell 926 else: 927 shell = IPShell --> 928 return shell() shell = 929 930 # Some aliases for backwards compatibility 931 IPythonShell = IPShell 932 IPythonShellEmbed = IPShellEmbed 933 #************************ End of file *************************** 934 935 936 937 938 939 940 941 942 943 /usr/lib/python2.4/site-packages/IPython/Shell.py in __init__(self=, argv=None, user_ns=None, user_global_ns=None, debug=1, shell_class=) 38 39 # global flag to turn on/off Tk support. 40 USE_TK = False 41 42 #----------------------------------------------------------------------------- 43 # This class is trivial now, but I want to have it in to publish a clean 44 # interface. Later when the internals are reorganized, code that uses this 45 # shouldn't have to change. 46 47 class IPShell: 48 """Create an IPython instance.""" 49 50 def __init__(self,argv=None,user_ns=None,user_global_ns=None, 51 debug=1,shell_class=InteractiveShell): 52 self.IP = make_IPython(argv,user_ns=user_ns,user_global_ns=user_global_ns, ---> 53 debug=debug,shell_class=shell_class) debug = 1 shell_class = 54 55 def mainloop(self,sys_exit=0,banner=None): 56 self.IP.mainloop(banner) 57 if sys_exit: 58 sys.exit() 59 60 #----------------------------------------------------------------------------- 61 class IPShellEmbed: 62 """Allow embedding an IPython shell into a running program. 63 64 Instances of this class are callable, with the __call__ method being an 65 alias to the embed() method of an InteractiveShell instance. 66 67 Usage (see also the example-embed.py file for a running example): 68 /usr/lib/python2.4/site-packages/IPython/ipmaker.py in make_IPython(argv=['/usr/bin/ipython', '-p', 'autolog'], user_ns=None, user_global_ns=None, debug=1, rc_override=None, shell_class=, embedded=False, **kw={}) 500 if IP_rc.profile: 501 histfname = 'history-%s' % IP_rc.profile 502 else: 503 histfname = 'history' 504 IP.histfile = os.path.join(opts_all.ipythondir,histfname) 505 506 # update exception handlers with rc file status 507 otrap.trap_out() # I don't want these messages ever. 508 IP.magic_xmode(IP_rc.xmode) 509 otrap.release_out() 510 511 # activate logging if requested and not reloading a log 512 if IP_rc.logplay: 513 IP.magic_logstart(IP_rc.logplay + ' append') 514 elif IP_rc.logfile: --> 515 IP.magic_logstart(IP_rc.logfile) IP.magic_logstart = > IP_rc.logfile = "'' # cancel earlier logfile invocation" 516 elif IP_rc.log: 517 IP.magic_logstart() 518 519 # find user editor so that it we don't have to look it up constantly 520 if IP_rc.editor.strip()=='0': 521 try: 522 ed = os.environ['EDITOR'] 523 except KeyError: 524 if os.name == 'posix': 525 ed = 'vi' # the only one guaranteed to be there! 526 else: 527 ed = 'notepad' # same in Windows! 528 IP_rc.editor = ed 529 530 # Keep track of whether this is an embedded instance or not (useful for /usr/lib/python2.4/site-packages/IPython/Magic.py in magic_logstart(self=, parameter_s="'' # cancel earlier logfile invocation") 971 Python code. 972 973 Since this marker is always the same, filtering only the output from 974 a log is very easy, using for example a simple awk call: 975 976 awk -F'#\\[Out\\]# ' '{if($2) {print $2}}' ipython_log.py 977 978 -t: put timestamps before each input line logged (these are put in 979 comments).""" 980 981 opts,par = self.parse_options(parameter_s,'ot') 982 log_output = 'o' in opts 983 timestamp = 't' in opts 984 985 rc = self.shell.rc --> 986 logger = self.shell.logger logger = undefined self.shell.logger = undefined 987 988 # if no args are given, the defaults set in the logger constructor by 989 # ipytohn remain valid 990 if par: 991 try: 992 logfname,logmode = par.split() 993 except: 994 logfname = par 995 logmode = 'backup' 996 else: 997 logfname = logger.logfname 998 logmode = logger.logmode 999 # put logfname into rc struct as if it had been called on the command 1000 # line, so it ends up saved in the log header Save it in case we need 1001 # to restore it... AttributeError: 'InteractiveShell' object has no attribute 'logger' *************************************************************************** History of session input: *** Last line of input (may not be in above history):