Show More
@@ -39,83 +39,6 b' USAGE' | |||
|
39 | 39 | In the rest of this text, we will refer to this directory as |
|
40 | 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 | 42 | REGULAR OPTIONS |
|
120 | 43 | After the above threading options have been given, regular options can |
|
121 | 44 | follow in any order. All options can be abbreviated to their shortest |
@@ -132,16 +55,6 b' REGULAR OPTIONS' | |||
|
132 | 55 | -h, --help |
|
133 | 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 | 58 | -autocall <val> |
|
146 | 59 | Make IPython automatically call any callable object even if you |
|
147 | 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 | 31 | dynamic object introspection, easier configuration, command |
|
32 | 32 | completion, access to the system shell, integration with numerical and |
|
33 | 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 | 35 | .SH REGULAR OPTIONS |
|
92 | 36 | After the above threading options have been given, regular options can follow |
@@ -62,12 +62,8 b' def install():' | |||
|
62 | 62 | cmd = '"%s" -p sh' % ipybase |
|
63 | 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 | 65 | link = pjoin(ip_start_menu, 'scipy.lnk') |
|
70 |
cmd = '"%s" |
|
|
66 | cmd = '"%s" -p scipy' % ipybase | |
|
71 | 67 | mkshortcut(python,'IPython (scipy profile)',link,cmd) |
|
72 | 68 | |
|
73 | 69 | link = pjoin(ip_start_menu, 'IPython test suite.lnk') |
|
1 | NO CONTENT: file was removed |
General Comments 0
You need to be logged in to leave comments.
Login now