Holcombe:PythonIDEs: Difference between revisions
No edit summary |
|||
Line 16: | Line 16: | ||
== IPython == | == IPython == | ||
Doesn't have a text editor, but at least gives you a command line that's better with command history, tab completion, | |||
In my .profile I added the following lines | |||
<code> | |||
PYTHONSTARTUP="pythonstartup.py" | |||
export PYTHONSTARTUP | |||
PYTHONPATH=~/Library/IPython | |||
export $PYTHONPATH | |||
</code> | |||
I then created a pythonstartup.py file so that IPython automatically run when start python. IPython has trouble finding readline, hence the second line | |||
<code> | |||
import sys | |||
sys.path.insert(0,'/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/readline-2.5.1-py2.5-macosx-10.5-i386.egg') | |||
import IPython | |||
IPython.Shell.start().mainloop() | |||
</code> |
Revision as of 13:58, 19 November 2008
Running python interactively from the Terminal alone is frustrating because you can't use arrow keys for history, no auto-complete, etc. Also there is no text editor linked to it. You will probably want to use an IDE that has built in text editor
Dr. Python
Dr. Python is good because it checks indentation. Instead of using {} to delimit code blocks, it uses indentation like so: if X
asdf asdf
dddd ---Each line needs to be offset by the same number of spaces/tabs. Dr. Python checks to make sure this is true so you're not tripped up by invisible characters like tabs masquerading as spaces
if X
asdf
asdf
IPython
Doesn't have a text editor, but at least gives you a command line that's better with command history, tab completion,
In my .profile I added the following lines
PYTHONSTARTUP="pythonstartup.py"
export PYTHONSTARTUP
PYTHONPATH=~/Library/IPython
export $PYTHONPATH
I then created a pythonstartup.py file so that IPython automatically run when start python. IPython has trouble finding readline, hence the second line
import sys
sys.path.insert(0,'/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/readline-2.5.1-py2.5-macosx-10.5-i386.egg')
import IPython
IPython.Shell.start().mainloop()