Show More
@@ -4,7 +4,7 b'' | |||||
4 | All the matplotlib support code was co-developed with John Hunter, |
|
4 | All the matplotlib support code was co-developed with John Hunter, | |
5 | matplotlib's author. |
|
5 | matplotlib's author. | |
6 |
|
6 | |||
7 |
$Id: Shell.py 99 |
|
7 | $Id: Shell.py 998 2006-01-09 06:57:40Z fperez $""" | |
8 |
|
8 | |||
9 | #***************************************************************************** |
|
9 | #***************************************************************************** | |
10 | # Copyright (C) 2001-2006 Fernando Perez <fperez@colorado.edu> |
|
10 | # Copyright (C) 2001-2006 Fernando Perez <fperez@colorado.edu> | |
@@ -668,6 +668,26 b' class IPShellWX(threading.Thread):' | |||||
668 | def __init__(self,argv=None,user_ns=None,user_global_ns=None, |
|
668 | def __init__(self,argv=None,user_ns=None,user_global_ns=None, | |
669 | debug=1,shell_class=MTInteractiveShell): |
|
669 | debug=1,shell_class=MTInteractiveShell): | |
670 |
|
670 | |||
|
671 | self.IP = make_IPython(argv,user_ns=user_ns, | |||
|
672 | user_global_ns=user_global_ns, | |||
|
673 | debug=debug, | |||
|
674 | shell_class=shell_class, | |||
|
675 | on_kill=[self.wxexit]) | |||
|
676 | ||||
|
677 | wantedwxversion=self.IP.rc.wxversion | |||
|
678 | if wantedwxversion!="0": | |||
|
679 | try: | |||
|
680 | import wxversion | |||
|
681 | except ImportError: | |||
|
682 | error('The wxversion module is needed for WX version selection') | |||
|
683 | else: | |||
|
684 | try: | |||
|
685 | wxversion.select(wantedwxversion) | |||
|
686 | except: | |||
|
687 | self.IP.InteractiveTB() | |||
|
688 | error('Requested wxPython version %s could not be loaded' % | |||
|
689 | wantedwxversion) | |||
|
690 | ||||
671 | import wxPython.wx as wx |
|
691 | import wxPython.wx as wx | |
672 |
|
692 | |||
673 | threading.Thread.__init__(self) |
|
693 | threading.Thread.__init__(self) | |
@@ -677,11 +697,7 b' class IPShellWX(threading.Thread):' | |||||
677 | # Allows us to use both Tk and GTK. |
|
697 | # Allows us to use both Tk and GTK. | |
678 | self.tk = get_tk() |
|
698 | self.tk = get_tk() | |
679 |
|
699 | |||
680 | self.IP = make_IPython(argv,user_ns=user_ns, |
|
700 | ||
681 | user_global_ns=user_global_ns, |
|
|||
682 | debug=debug, |
|
|||
683 | shell_class=shell_class, |
|
|||
684 | on_kill=[self.wxexit]) |
|
|||
685 | # HACK: slot for banner in self; it will be passed to the mainloop |
|
701 | # HACK: slot for banner in self; it will be passed to the mainloop | |
686 | # method only and .run() needs it. The actual value will be set by |
|
702 | # method only and .run() needs it. The actual value will be set by | |
687 | # .mainloop(). |
|
703 | # .mainloop(). |
@@ -1,5 +1,5 b'' | |||||
1 | # -*- Mode: Shell-Script -*- Not really, but shows comments correctly |
|
1 | # -*- Mode: Shell-Script -*- Not really, but shows comments correctly | |
2 |
# $Id: ipythonrc 99 |
|
2 | # $Id: ipythonrc 998 2006-01-09 06:57:40Z fperez $ | |
3 |
|
3 | |||
4 | #*************************************************************************** |
|
4 | #*************************************************************************** | |
5 | # |
|
5 | # | |
@@ -330,6 +330,16 b' xmode Context' | |||||
330 |
|
330 | |||
331 | multi_line_specials 1 |
|
331 | multi_line_specials 1 | |
332 |
|
332 | |||
|
333 | # wxversion: request a specific wxPython version (used for -wthread) | |||
|
334 | ||||
|
335 | # Set this to the value of wxPython you want to use, but note that this | |||
|
336 | # feature requires you to have the wxversion Python module to work. If you | |||
|
337 | # don't have the wxversion module (try 'import wxversion' at the prompt to | |||
|
338 | # check) or simply want to leave the system to pick up the default, leave this | |||
|
339 | # variable at 0. | |||
|
340 | ||||
|
341 | wxversion 0 | |||
|
342 | ||||
333 | #--------------------------------------------------------------------------- |
|
343 | #--------------------------------------------------------------------------- | |
334 | # Section: Readline configuration (readline is not available for MS-Windows) |
|
344 | # Section: Readline configuration (readline is not available for MS-Windows) | |
335 |
|
345 |
@@ -27,7 +27,7 b' IPython tries to:' | |||||
27 |
|
27 | |||
28 | IPython requires Python 2.2 or newer. |
|
28 | IPython requires Python 2.2 or newer. | |
29 |
|
29 | |||
30 |
$Id: __init__.py |
|
30 | $Id: __init__.py 998 2006-01-09 06:57:40Z fperez $""" | |
31 |
|
31 | |||
32 | #***************************************************************************** |
|
32 | #***************************************************************************** | |
33 | # Copyright (C) 2001-2004 Fernando Perez. <fperez@colorado.edu> |
|
33 | # Copyright (C) 2001-2004 Fernando Perez. <fperez@colorado.edu> | |
@@ -38,8 +38,8 b' $Id: __init__.py 775 2005-09-01 20:24:59Z fperez $"""' | |||||
38 |
|
38 | |||
39 | # Enforce proper version requirements |
|
39 | # Enforce proper version requirements | |
40 | import sys |
|
40 | import sys | |
41 |
if sys.version[0:3] < '2. |
|
41 | if sys.version[0:3] < '2.3': | |
42 |
raise ImportError, 'Python Version 2. |
|
42 | raise ImportError, 'Python Version 2.3 or above is required.' | |
43 |
|
43 | |||
44 | # Define what gets imported with a 'from IPython import *' |
|
44 | # Define what gets imported with a 'from IPython import *' | |
45 | __all__ = ['deep_reload','genutils','ultraTB','DPyGetOpt','Itpl','hooks', |
|
45 | __all__ = ['deep_reload','genutils','ultraTB','DPyGetOpt','Itpl','hooks', |
@@ -6,7 +6,7 b' Requires Python 2.1 or better.' | |||||
6 |
|
6 | |||
7 | This file contains the main make_IPython() starter function. |
|
7 | This file contains the main make_IPython() starter function. | |
8 |
|
8 | |||
9 |
$Id: ipmaker.py 99 |
|
9 | $Id: ipmaker.py 998 2006-01-09 06:57:40Z fperez $""" | |
10 |
|
10 | |||
11 | #***************************************************************************** |
|
11 | #***************************************************************************** | |
12 | # Copyright (C) 2001-2006 Fernando Perez. <fperez@colorado.edu> |
|
12 | # Copyright (C) 2001-2006 Fernando Perez. <fperez@colorado.edu> | |
@@ -159,6 +159,7 b" object? -> Details about 'object'. ?object also works, ?? prints more." | |||||
159 | 'separate_out2|so2=s xmode=s wildcards_case_sensitive! ' |
|
159 | 'separate_out2|so2=s xmode=s wildcards_case_sensitive! ' | |
160 | 'magic_docstrings system_verbose! ' |
|
160 | 'magic_docstrings system_verbose! ' | |
161 | 'multi_line_specials! ' |
|
161 | 'multi_line_specials! ' | |
|
162 | 'wxversion=s ' | |||
162 | 'autoedit_syntax!') |
|
163 | 'autoedit_syntax!') | |
163 |
|
164 | |||
164 | # Options that can *only* appear at the cmd line (not in rcfiles). |
|
165 | # Options that can *only* appear at the cmd line (not in rcfiles). | |
@@ -222,6 +223,7 b" object? -> Details about 'object'. ?object also works, ?? prints more." | |||||
222 | Version = 0, |
|
223 | Version = 0, | |
223 | xmode = 'Verbose', |
|
224 | xmode = 'Verbose', | |
224 | wildcards_case_sensitive = 1, |
|
225 | wildcards_case_sensitive = 1, | |
|
226 | wxversion = '0', | |||
225 | magic_docstrings = 0, # undocumented, for doc generation |
|
227 | magic_docstrings = 0, # undocumented, for doc generation | |
226 | ) |
|
228 | ) | |
227 |
|
229 |
@@ -6,7 +6,7 b'' | |||||
6 | # the file COPYING, distributed as part of this software. |
|
6 | # the file COPYING, distributed as part of this software. | |
7 | #***************************************************************************** |
|
7 | #***************************************************************************** | |
8 |
|
8 | |||
9 |
# $Id: usage.py 99 |
|
9 | # $Id: usage.py 998 2006-01-09 06:57:40Z fperez $ | |
10 |
|
10 | |||
11 | from IPython import Release |
|
11 | from IPython import Release | |
12 | __author__ = '%s <%s>' % Release.authors['Fernando'] |
|
12 | __author__ = '%s <%s>' % Release.authors['Fernando'] | |
@@ -67,6 +67,11 b' SPECIAL THREADING OPTIONS' | |||||
67 | essentially the same functionality, respectively for GTK, QT and |
|
67 | essentially the same functionality, respectively for GTK, QT and | |
68 | WXWidgets (via their Python interfaces). |
|
68 | WXWidgets (via their Python interfaces). | |
69 |
|
69 | |||
|
70 | Note that with -wthread, you can additionally use the -wxversion | |||
|
71 | option to request a specific version of wx to be used. This | |||
|
72 | requires that you have the 'wxversion' Python module installed, | |||
|
73 | which is part of recent wxPython distributions. | |||
|
74 | ||||
70 | If -pylab is given, IPython loads special support for the mat- |
|
75 | If -pylab is given, IPython loads special support for the mat- | |
71 | plotlib library (http://matplotlib.sourceforge.net), allowing |
|
76 | plotlib library (http://matplotlib.sourceforge.net), allowing | |
72 | interactive usage of any of its backends as defined in the |
|
77 | interactive usage of any of its backends as defined in the | |
@@ -380,6 +385,11 b' REGULAR OPTIONS' | |||||
380 | -Version |
|
385 | -Version | |
381 | Print version information and exit. |
|
386 | Print version information and exit. | |
382 |
|
387 | |||
|
388 | -wxversion <string> | |||
|
389 | Select a specific version of wxPython (used in conjunction with | |||
|
390 | -wthread). Requires the wxversion module, part of recent | |||
|
391 | wxPython distributions. | |||
|
392 | ||||
383 | -xmode <modename> |
|
393 | -xmode <modename> | |
384 | Mode for exception reporting. The valid modes are Plain, Con- |
|
394 | Mode for exception reporting. The valid modes are Plain, Con- | |
385 | text, and Verbose. |
|
395 | text, and Verbose. |
@@ -1,5 +1,10 b'' | |||||
1 | 2006-01-08 Fernando Perez <Fernando.Perez@colorado.edu> |
|
1 | 2006-01-08 Fernando Perez <Fernando.Perez@colorado.edu> | |
2 |
|
2 | |||
|
3 | * IPython/Shell.py (IPShellWX.__init__): add support for WXPython | |||
|
4 | version selection (new -wxversion command line and ipythonrc | |||
|
5 | parameter). Patch contributed by Arnd Baecker | |||
|
6 | <arnd.baecker-AT-web.de>. | |||
|
7 | ||||
3 | * IPython/iplib.py (embed_mainloop): fix tab-completion in |
|
8 | * IPython/iplib.py (embed_mainloop): fix tab-completion in | |
4 | embedded instances, for variables defined at the interactive |
|
9 | embedded instances, for variables defined at the interactive | |
5 | prompt of the embedded ipython. Reported by Arnd. |
|
10 | prompt of the embedded ipython. Reported by Arnd. |
@@ -50,6 +50,12 b' three provide essentially the same functionality, respectively for GTK, QT and' | |||||
50 | WXWidgets (via their Python interfaces). |
|
50 | WXWidgets (via their Python interfaces). | |
51 | .br |
|
51 | .br | |
52 | .sp 1 |
|
52 | .sp 1 | |
|
53 | Note that with \-wthread, you can additionally use the \-wxversion option to | |||
|
54 | request a specific version of wx to be used. This requires that you have the | |||
|
55 | 'wxversion' Python module installed, which is part of recent wxPython | |||
|
56 | distributions. | |||
|
57 | .br | |||
|
58 | .sp 1 | |||
53 | If \-pylab is given, IPython loads special support for the matplotlib library |
|
59 | If \-pylab is given, IPython loads special support for the matplotlib library | |
54 | (http://matplotlib.sourceforge.net), allowing interactive usage of any of its |
|
60 | (http://matplotlib.sourceforge.net), allowing interactive usage of any of its | |
55 | backends as defined in the user's .matplotlibrc file. It automatically |
|
61 | backends as defined in the user's .matplotlibrc file. It automatically | |
@@ -357,6 +363,11 b' have in your personal files.' | |||||
357 | .B \-Version |
|
363 | .B \-Version | |
358 | Print version information and exit. |
|
364 | Print version information and exit. | |
359 | .TP |
|
365 | .TP | |
|
366 | .B -wxversion <string> | |||
|
367 | Select a specific version of wxPython (used in conjunction with | |||
|
368 | \-wthread). Requires the wxversion module, part of recent wxPython | |||
|
369 | distributions. | |||
|
370 | .TP | |||
360 | .B \-xmode <modename> |
|
371 | .B \-xmode <modename> | |
361 | Mode for exception reporting. The valid modes are Plain, Context, and |
|
372 | Mode for exception reporting. The valid modes are Plain, Context, and | |
362 | Verbose. |
|
373 | Verbose. |
@@ -164,6 +164,12 b' Offer a flexible framework which can be used as the base environment for' | |||||
164 | other systems with Python as the underlying language. |
|
164 | other systems with Python as the underlying language. | |
165 | Specifically scientific environments like Mathematica, IDL and Matlab inspired |
|
165 | Specifically scientific environments like Mathematica, IDL and Matlab inspired | |
166 | its design, but similar ideas can be useful in many fields. |
|
166 | its design, but similar ideas can be useful in many fields. | |
|
167 | \layout Enumerate | |||
|
168 | ||||
|
169 | Allow interactive testing of threaded graphical toolkits. | |||
|
170 | IPython has support for interactive, non-blocking control of GTK, Qt and | |||
|
171 | WX applications via special threading flags. | |||
|
172 | The normal Python shell can only do this for Tkinter applications. | |||
167 | \layout Subsection |
|
173 | \layout Subsection | |
168 |
|
174 | |||
169 | Main features |
|
175 | Main features | |
@@ -176,7 +182,26 b' Dynamic object introspection.' | |||||
176 | \family typewriter |
|
182 | \family typewriter | |
177 | ? |
|
183 | ? | |
178 | \family default |
|
184 | \family default | |
179 | '). |
|
185 | ', and using ` | |
|
186 | \family typewriter | |||
|
187 | ?? | |||
|
188 | \family default | |||
|
189 | ' provides additional detail). | |||
|
190 | \layout Itemize | |||
|
191 | ||||
|
192 | Searching through modules and namespaces with ` | |||
|
193 | \family typewriter | |||
|
194 | * | |||
|
195 | \family default | |||
|
196 | ' wildcards, both when using the ` | |||
|
197 | \family typewriter | |||
|
198 | ? | |||
|
199 | \family default | |||
|
200 | ' system and via the | |||
|
201 | \family typewriter | |||
|
202 | %psearch | |||
|
203 | \family default | |||
|
204 | command. | |||
180 | \layout Itemize |
|
205 | \layout Itemize | |
181 |
|
206 | |||
182 | Completion in the local namespace, by typing TAB at the prompt. |
|
207 | Completion in the local namespace, by typing TAB at the prompt. | |
@@ -207,10 +232,6 b' Complete system shell access.' | |||||
207 | !! captures shell output into python variables for further use. |
|
232 | !! captures shell output into python variables for further use. | |
208 | \layout Itemize |
|
233 | \layout Itemize | |
209 |
|
234 | |||
210 | All calls to the system (via aliases or via !) have their standard output/error |
|
|||
211 | automatically stored as strings, and also available as lists. |
|
|||
212 | \layout Itemize |
|
|||
213 |
|
||||
214 | Background execution of Python commands in a separate thread. |
|
235 | Background execution of Python commands in a separate thread. | |
215 | IPython has an internal job manager called |
|
236 | IPython has an internal job manager called | |
216 | \family typewriter |
|
237 | \family typewriter | |
@@ -255,15 +276,35 b' Filesystem navigation, via a magic' | |||||
255 | ) for fast access to frequently visited directories. |
|
276 | ) for fast access to frequently visited directories. | |
256 | \layout Itemize |
|
277 | \layout Itemize | |
257 |
|
278 | |||
|
279 | A lightweight persistence framework via the | |||
|
280 | \family typewriter | |||
|
281 | %store | |||
|
282 | \family default | |||
|
283 | command, which allows you to save arbitrary Python variables. | |||
|
284 | These get restored automatically when your session restarts. | |||
|
285 | \layout Itemize | |||
|
286 | ||||
258 | Automatic indentation (optional) of code as you type (through the readline |
|
287 | Automatic indentation (optional) of code as you type (through the readline | |
259 | library). |
|
288 | library). | |
260 | \layout Itemize |
|
289 | \layout Itemize | |
261 |
|
290 | |||
262 | Macro system for quickly re-executing multiple lines of previous input with |
|
291 | Macro system for quickly re-executing multiple lines of previous input with | |
263 | a single name. |
|
292 | a single name. | |
|
293 | Macros can be stored persistently via | |||
|
294 | \family typewriter | |||
|
295 | %store | |||
|
296 | \family default | |||
|
297 | and edited via | |||
|
298 | \family typewriter | |||
|
299 | %edit | |||
|
300 | \family default | |||
|
301 | . | |||
|
302 | ||||
264 | \layout Itemize |
|
303 | \layout Itemize | |
265 |
|
304 | |||
266 | Session logging (you can then later use these logs as code in your programs). |
|
305 | Session logging (you can then later use these logs as code in your programs). | |
|
306 | Logs can optionally timestamp all input, and also store session output | |||
|
307 | (marked as comments, so the log remains valid Python source code). | |||
267 | \layout Itemize |
|
308 | \layout Itemize | |
268 |
|
309 | |||
269 | Session restoring: logs can be replayed to restore a previous session to |
|
310 | Session restoring: logs can be replayed to restore a previous session to | |
@@ -405,12 +446,10 b' Portability and Python requirements' | |||||
405 | \series bold |
|
446 | \series bold | |
406 | Python requirements: |
|
447 | Python requirements: | |
407 | \series default |
|
448 | \series default | |
408 |
IPython |
|
449 | IPython requires with Python version 2.3 or newer. | |
409 | It has been tested with Python 2.4 and no problems have been reported. |
|
450 | If you are still using Python 2.2 and can not upgrade, the last version | |
410 | Support for Python 2.1 hasn't been recently tested, since I don't have access |
|
451 | of IPython which worked with Python 2.2 was 0.6.15, so you will have to use | |
411 | to it on any of my systems. |
|
452 | that. | |
412 | But I suspect there may be some problems with Python 2.1, because some of |
|
|||
413 | the newer code may use 2.2 features. |
|
|||
414 | \layout Standard |
|
453 | \layout Standard | |
415 |
|
454 | |||
416 | IPython is developed under |
|
455 | IPython is developed under | |
@@ -465,12 +504,22 b' Windows 9x support is present, and has been reported to work fine (at least' | |||||
465 | on WinME). |
|
504 | on WinME). | |
466 | \layout Standard |
|
505 | \layout Standard | |
467 |
|
506 | |||
468 |
|
|
507 | Note, that I have very little access to and experience with Windows development. | |
469 | Windows development. |
|
508 | However, an excellent group of Win32 users (led by Ville Vainio), consistenly | |
470 | For this reason, Windows-specific bugs tend to linger far longer than I |
|
509 | contribute bugfixes and platform-specific enhancements, so they more than | |
471 | would like, and often I just can't find a satisfactory solution. |
|
510 | make up for my deficiencies on that front. | |
472 | If any Windows user wants to join in with development help, all hands are |
|
511 | In fact, Win32 users report using IPython as a system shell (see Sec.\SpecialChar ~ | |
473 | always welcome. |
|
512 | ||
|
513 | \begin_inset LatexCommand \ref{sec:IPython-as-shell} | |||
|
514 | ||||
|
515 | \end_inset | |||
|
516 | ||||
|
517 | for details), as it offers a level of control and features which the default | |||
|
518 | ||||
|
519 | \family typewriter | |||
|
520 | cmd.exe | |||
|
521 | \family default | |||
|
522 | doesn't provide. | |||
474 | \layout Subsection |
|
523 | \layout Subsection | |
475 |
|
524 | |||
476 | Location |
|
525 | Location | |
@@ -481,7 +530,7 b' IPython is generously hosted at' | |||||
481 |
|
530 | |||
482 | \end_inset |
|
531 | \end_inset | |
483 |
|
532 | |||
484 | by the SciPy project. |
|
533 | by the Enthought, Inc and the SciPy project. | |
485 | This site offers downloads, subversion access, mailing lists and a bug |
|
534 | This site offers downloads, subversion access, mailing lists and a bug | |
486 | tracking system. |
|
535 | tracking system. | |
487 | I am very grateful to Enthought ( |
|
536 | I am very grateful to Enthought ( | |
@@ -2476,6 +2525,21 b' one' | |||||
2476 | \labelwidthstring 00.00.0000 |
|
2525 | \labelwidthstring 00.00.0000 | |
2477 |
|
2526 | |||
2478 | \SpecialChar ~ |
|
2527 | \SpecialChar ~ | |
|
2528 | Note that with | |||
|
2529 | \family typewriter | |||
|
2530 | -wthread | |||
|
2531 | \family default | |||
|
2532 | , you can additionally use the -wxversion option to request a specific version | |||
|
2533 | of wx to be used. | |||
|
2534 | This requires that you have the | |||
|
2535 | \family typewriter | |||
|
2536 | wxversion | |||
|
2537 | \family default | |||
|
2538 | Python module installed, which is part of recent wxPython distributions. | |||
|
2539 | \layout List | |||
|
2540 | \labelwidthstring 00.00.0000 | |||
|
2541 | ||||
|
2542 | \SpecialChar ~ | |||
2479 | If |
|
2543 | If | |
2480 | \family typewriter |
|
2544 | \family typewriter | |
2481 | -pylab |
|
2545 | -pylab | |
@@ -3452,7 +3516,24 b' IPYTHONDIR' | |||||
3452 |
|
3516 | |||
3453 | \family typewriter |
|
3517 | \family typewriter | |
3454 | \series bold |
|
3518 | \series bold | |
3455 | -xmode <modename> |
|
3519 | -wxversion\SpecialChar ~ | |
|
3520 | <string>: | |||
|
3521 | \family default | |||
|
3522 | \series default | |||
|
3523 | Select a specific version of wxPython (used in conjunction with | |||
|
3524 | \family typewriter | |||
|
3525 | -wthread | |||
|
3526 | \family default | |||
|
3527 | ). | |||
|
3528 | Requires the wxversion module, part of recent wxPython distributions | |||
|
3529 | \layout List | |||
|
3530 | \labelwidthstring 00.00.0000 | |||
|
3531 | ||||
|
3532 | ||||
|
3533 | \family typewriter | |||
|
3534 | \series bold | |||
|
3535 | -xmode\SpecialChar ~ | |||
|
3536 | <modename> | |||
3456 | \series default |
|
3537 | \series default | |
3457 | : |
|
3538 | : | |
3458 | \family default |
|
3539 | \family default | |
@@ -6778,6 +6859,11 b' from IPython.Extensions.PhysicalQInteractive import *' | |||||
6778 | import IPython.Extensions.PhysicalQInput |
|
6859 | import IPython.Extensions.PhysicalQInput | |
6779 | \layout Section |
|
6860 | \layout Section | |
6780 |
|
6861 | |||
|
6862 | ||||
|
6863 | \begin_inset LatexCommand \label{sec:IPython-as-shell} | |||
|
6864 | ||||
|
6865 | \end_inset | |||
|
6866 | ||||
6781 | IPython as a system shell |
|
6867 | IPython as a system shell | |
6782 | \layout Standard |
|
6868 | \layout Standard | |
6783 |
|
6869 |
General Comments 0
You need to be logged in to leave comments.
Login now