How to setup a complete IDE using python-mode.el was shown at EuroPython-2013 at Florence:
Get the latest release from:
The relevant page also has installation instructions. The following was enough for me, though:
(autoload 'python-mode "python-mode" "Python Mode." t) (add-to-list 'auto-mode-alist '("\\.py\\'" . python-mode)) (add-to-list 'interpreter-mode-alist '("python" . python-mode))
this could be useful: (RichardRiley : why?)
Many distros add relevant autoloads e.g. Gentoo adds it to site-lisp/site-gentoo.el or possibly site-lisp/site-gentoo.d
python-mode.el reduces number of needed keystrokes providing tailored commands. It makes edits faster, assists programming by speech, macro-driven input etc.
Support Python language features, for example:
py-up, py-down - travelling nested blocks
Avoid typos fetching forms at point, a clause for example:
No need to customize when testing different versions:
- Notion of finer grained parts - py-expression, py-minor-expression
- Commands running versioned and paralleled (I)Python-executables, no need to re-define the default Python largely removing the need of an active region marked before, see py-execute-line and a whole bunch more
Have a look at the menu. Directory “doc” lists commands.
(defun py-next-block () "go to the next block. Cf. `forward-sexp' for lisp-mode" (interactive) (py-mark-block nil 't) (back-to-indentation))
(add-hook 'python-mode-hook '(lambda () (eldoc-mode 1)) t)
‘py-help-at-point’ can be used to get the internal python documentation on the function at point.
For Emacs 23: C-c C-f “sys” – this works, and describes the “sys” module in a separate Emacs help buffer.
(Andreas Röhler: No: inside current buffer it jumps to definition, no need for a help buffer.)
I have found the following settings helpful in using xpdb:
;; Let python-mode know about xpdb and generator expressions. (setq py-pdbtrack-input-prompt "\n[(& class="comment">;amp;amp;lt;]*x?pdb[&amp;amp;gt;)]+ " py-pdbtrack-stack-entry-regexp (concat "^& class="comment">;amp;amp;gt; \\(.*\\)(\\([0-9]+\\))" "\\([?a-zA-Z0-9_]+\\|& class="comment">;amp;amp;lt;genexpr&amp;amp;gt;\\)()"))
xpdb is a fork of the standard library pdb, available here: https://code.launchpad.net/~eyal-lotem+launchpad/xpdb/main