Show More
@@ -39,83 +39,6 b' USAGE' | |||||
39 | In the rest of this text, we will refer to this directory as |
|
39 | In the rest of this text, we will refer to this directory as | |
40 | IPYTHONDIR. |
|
40 | IPYTHONDIR. | |
41 |
|
41 | |||
42 |
|
||||
43 | SPECIAL THREADING OPTIONS |
|
|||
44 | The following special options are ONLY valid at the beginning of the |
|
|||
45 | command line, and not later. This is because they control the initial- |
|
|||
46 | ization of ipython itself, before the normal option-handling mechanism |
|
|||
47 | is active. |
|
|||
48 |
|
||||
49 | -gthread, -qthread, -q4thread, -wthread, -pylab |
|
|||
50 |
|
||||
51 | Only ONE of these can be given, and it can only be given as the |
|
|||
52 | first option passed to IPython (it will have no effect in any |
|
|||
53 | other position). They provide threading support for the GTK, QT |
|
|||
54 | and WXWidgets toolkits, and for the matplotlib library. |
|
|||
55 |
|
||||
56 | With any of the first four options, IPython starts running a |
|
|||
57 | separate thread for the graphical toolkit's operation, so that |
|
|||
58 | you can open and control graphical elements from within an |
|
|||
59 | IPython command line, without blocking. All four provide |
|
|||
60 | essentially the same functionality, respectively for GTK, QT3, |
|
|||
61 | QT4 and WXWidgets (via their Python interfaces). |
|
|||
62 |
|
||||
63 | Note that with -wthread, you can additionally use the -wxversion |
|
|||
64 | option to request a specific version of wx to be used. This |
|
|||
65 | requires that you have the 'wxversion' Python module installed, |
|
|||
66 | which is part of recent wxPython distributions. |
|
|||
67 |
|
||||
68 | If -pylab is given, IPython loads special support for the mat- |
|
|||
69 | plotlib library (http://matplotlib.sourceforge.net), allowing |
|
|||
70 | interactive usage of any of its backends as defined in the |
|
|||
71 | user's .matplotlibrc file. It automatically activates GTK, QT |
|
|||
72 | or WX threading for IPyhton if the choice of matplotlib backend |
|
|||
73 | requires it. It also modifies the %run command to correctly |
|
|||
74 | execute (without blocking) any matplotlib-based script which |
|
|||
75 | calls show() at the end. |
|
|||
76 |
|
||||
77 | -tk The -g/q/q4/wthread options, and -pylab (if matplotlib is |
|
|||
78 | configured to use GTK, QT or WX), will normally block Tk |
|
|||
79 | graphical interfaces. This means that when GTK, QT or WX |
|
|||
80 | threading is active, any attempt to open a Tk GUI will result in |
|
|||
81 | a dead window, and possibly cause the Python interpreter to |
|
|||
82 | crash. An extra option, -tk, is available to address this |
|
|||
83 | issue. It can ONLY be given as a SECOND option after any of the |
|
|||
84 | above (-gthread, -qthread, q4thread, -wthread or -pylab). |
|
|||
85 |
|
||||
86 | If -tk is given, IPython will try to coordinate Tk threading |
|
|||
87 | with GTK, QT or WX. This is however potentially unreliable, and |
|
|||
88 | you will have to test on your platform and Python configuration |
|
|||
89 | to determine whether it works for you. Debian users have |
|
|||
90 | reported success, apparently due to the fact that Debian builds |
|
|||
91 | all of Tcl, Tk, Tkinter and Python with pthreads support. Under |
|
|||
92 | other Linux environments (such as Fedora Core 2/3), this option |
|
|||
93 | has caused random crashes and lockups of the Python interpreter. |
|
|||
94 | Under other operating systems (Mac OSX and Windows), you'll need |
|
|||
95 | to try it to find out, since currently no user reports are |
|
|||
96 | available. |
|
|||
97 |
|
||||
98 | There is unfortunately no way for IPython to determine at run- |
|
|||
99 | time whether -tk will work reliably or not, so you will need to |
|
|||
100 | do some experiments before relying on it for regular work. |
|
|||
101 |
|
||||
102 | A WARNING ABOUT SIGNALS AND THREADS |
|
|||
103 |
|
||||
104 | When any of the thread systems (GTK, QT or WX) are active, either |
|
|||
105 | directly or via -pylab with a threaded backend, it is impossible to |
|
|||
106 | interrupt long-running Python code via Ctrl-C. IPython can not pass |
|
|||
107 | the KeyboardInterrupt exception (or the underlying SIGINT) across |
|
|||
108 | threads, so any long-running process started from IPython will run to |
|
|||
109 | completion, or will have to be killed via an external (OS-based) |
|
|||
110 | mechanism. |
|
|||
111 |
|
||||
112 | To the best of my knowledge, this limitation is imposed by the Python |
|
|||
113 | interpreter itself, and it comes from the difficulty of writing |
|
|||
114 | portable signal/threaded code. If any user is an expert on this topic |
|
|||
115 | and can suggest a better solution, I would love to hear about it. In |
|
|||
116 | the IPython sources, look at the shell.py module, and in particular at |
|
|||
117 | the runcode() method. |
|
|||
118 |
|
||||
119 | REGULAR OPTIONS |
|
42 | REGULAR OPTIONS | |
120 | After the above threading options have been given, regular options can |
|
43 | After the above threading options have been given, regular options can | |
121 | follow in any order. All options can be abbreviated to their shortest |
|
44 | follow in any order. All options can be abbreviated to their shortest | |
@@ -132,16 +55,6 b' REGULAR OPTIONS' | |||||
132 | -h, --help |
|
55 | -h, --help | |
133 | Show summary of options. |
|
56 | Show summary of options. | |
134 |
|
57 | |||
135 | -pylab This can only be given as the first option passed to IPython (it |
|
|||
136 | will have no effect in any other position). It adds special sup- |
|
|||
137 | port for the matplotlib library (http://matplotlib.source- |
|
|||
138 | forge.net), allowing interactive usage of any of its backends as |
|
|||
139 | defined in the user's .matplotlibrc file. It automatically |
|
|||
140 | activates GTK or WX threading for IPyhton if the choice of mat- |
|
|||
141 | plotlib backend requires it. It also modifies the @run command |
|
|||
142 | to correctly execute (without blocking) any matplotlib-based |
|
|||
143 | script which calls show() at the end. |
|
|||
144 |
|
||||
145 | -autocall <val> |
|
58 | -autocall <val> | |
146 | Make IPython automatically call any callable object even if you |
|
59 | Make IPython automatically call any callable object even if you | |
147 | didn't type explicit parentheses. For example, 'str 43' becomes |
|
60 | didn't type explicit parentheses. For example, 'str 43' becomes |
@@ -31,62 +31,6 b' An interactive Python shell with automatic history (input and output),' | |||||
31 | dynamic object introspection, easier configuration, command |
|
31 | dynamic object introspection, easier configuration, command | |
32 | completion, access to the system shell, integration with numerical and |
|
32 | completion, access to the system shell, integration with numerical and | |
33 | scientific computing tools, and more. |
|
33 | scientific computing tools, and more. | |
34 | .SH SPECIAL THREADING OPTIONS |
|
|||
35 | The following special options are ONLY valid at the beginning of the command |
|
|||
36 | line, and not later. This is because they control the initialization of |
|
|||
37 | ipython itself, before the normal option-handling mechanism is active. |
|
|||
38 | .TP |
|
|||
39 | .B \-gthread, \-qthread, \-q4thread, \-wthread, \-pylab |
|
|||
40 | Only ONE of these can be given, and it can only be given as the first option |
|
|||
41 | passed to IPython (it will have no effect in any other position). They provide |
|
|||
42 | threading support for the GTK, QT3, QT4 and WXWidgets toolkits, for the |
|
|||
43 | matplotlib library and Twisted reactor. |
|
|||
44 | .br |
|
|||
45 | .sp 1 |
|
|||
46 | With any of the first four options, IPython starts running a separate thread |
|
|||
47 | for the graphical toolkit's operation, so that you can open and control |
|
|||
48 | graphical elements from within an IPython command line, without blocking. All |
|
|||
49 | four provide essentially the same functionality, respectively for GTK, QT3, QT4 |
|
|||
50 | and WXWidgets (via their Python interfaces). |
|
|||
51 | .br |
|
|||
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 |
|
|||
59 | If \-pylab is given, IPython loads special support for the matplotlib library |
|
|||
60 | (http://matplotlib.sourceforge.net), allowing interactive usage of any of its |
|
|||
61 | backends as defined in the user's .matplotlibrc file. It automatically |
|
|||
62 | activates GTK, QT or WX threading for IPyhton if the choice of matplotlib |
|
|||
63 | backend requires it. It also modifies the %run command to correctly execute |
|
|||
64 | (without blocking) any matplotlib-based script which calls show() at the end. |
|
|||
65 | .TP |
|
|||
66 | .B \-tk |
|
|||
67 | The \-g/q/q4/wthread options, and \-pylab (if matplotlib is configured to use |
|
|||
68 | GTK, QT or WX), will normally block Tk graphical interfaces. This means that |
|
|||
69 | when GTK, QT or WX threading is active, any attempt to open a Tk GUI will |
|
|||
70 | result in a dead window, and possibly cause the Python interpreter to crash. |
|
|||
71 | An extra option, \-tk, is available to address this issue. It can ONLY be |
|
|||
72 | given as a SECOND option after any of the above (\-gthread, \-qthread, |
|
|||
73 | \-wthread or \-pylab). |
|
|||
74 | .br |
|
|||
75 | .sp 1 |
|
|||
76 | If \-tk is given, IPython will try to coordinate Tk threading with GTK, QT or |
|
|||
77 | WX. This is however potentially unreliable, and you will have to test on your |
|
|||
78 | platform and Python configuration to determine whether it works for you. |
|
|||
79 | Debian users have reported success, apparently due to the fact that Debian |
|
|||
80 | builds all of Tcl, Tk, Tkinter and Python with pthreads support. Under other |
|
|||
81 | Linux environments (such as Fedora Core 2), this option has caused random |
|
|||
82 | crashes and lockups of the Python interpreter. Under other operating systems |
|
|||
83 | (Mac OSX and Windows), you'll need to try it to find out, since currently no |
|
|||
84 | user reports are available. |
|
|||
85 | .br |
|
|||
86 | .sp 1 |
|
|||
87 | There is unfortunately no way for IPython to determine at runtime whether \-tk |
|
|||
88 | will work reliably or not, so you will need to do some experiments before |
|
|||
89 | relying on it for regular work. |
|
|||
90 | . |
|
34 | . | |
91 | .SH REGULAR OPTIONS |
|
35 | .SH REGULAR OPTIONS | |
92 | After the above threading options have been given, regular options can follow |
|
36 | After the above threading options have been given, regular options can follow |
@@ -62,12 +62,8 b' def install():' | |||||
62 | cmd = '"%s" -p sh' % ipybase |
|
62 | cmd = '"%s" -p sh' % ipybase | |
63 | mkshortcut(python,'IPython (command prompt mode)',link,cmd) |
|
63 | mkshortcut(python,'IPython (command prompt mode)',link,cmd) | |
64 |
|
64 | |||
65 | link = pjoin(ip_start_menu, 'pylab.lnk') |
|
|||
66 | cmd = '"%s" -pylab' % ipybase |
|
|||
67 | mkshortcut(python,'IPython (PyLab mode)',link,cmd) |
|
|||
68 |
|
||||
69 | link = pjoin(ip_start_menu, 'scipy.lnk') |
|
65 | link = pjoin(ip_start_menu, 'scipy.lnk') | |
70 |
cmd = '"%s" |
|
66 | cmd = '"%s" -p scipy' % ipybase | |
71 | mkshortcut(python,'IPython (scipy profile)',link,cmd) |
|
67 | mkshortcut(python,'IPython (scipy profile)',link,cmd) | |
72 |
|
68 | |||
73 | link = pjoin(ip_start_menu, 'IPython test suite.lnk') |
|
69 | link = pjoin(ip_start_menu, 'IPython test suite.lnk') |
1 | NO CONTENT: file was removed |
|
NO CONTENT: file was removed |
General Comments 0
You need to be logged in to leave comments.
Login now