Using Python with Emacs †
Back
Introduction †
In this page, I will explain my emacs environment for programing and interactive session with Python. I put emphasis on my because this may not be the most elegant solution (and probably it isn't). The effectiveness of a human interface depends a lot on the user's preference. Therefore, the example shown here strongly reflects my personal preferences. You may want to change details of the behavior. You can do so but you have to know a bit about Emacs Lisp. Since I don't have a time to explain Emacs Lisp here, I will just refer you to two nice documents for learning Emacs Lisp, An Introduction to Programming in Emacs Lisp and GNU Emacs Lisp Reference Manual.
My computer environment †
Before going into the details of the emacs setting, I will list my computer environment as a reference.
| Hardware | PC (Sony VAIO type Z) |
| OS | Ubuntu 9.04 (x86-64) |
Additional packages †
In addition to Emacs, you need to install several packages.
I took most of the information from here.
- python-mode.el -- This is the main guy. It defines a major mode for python editing and interactive execution. We will add some tweaks to this mode later. It is a part of the python distribution. You can download it also from https://launchpad.net/python-mode. On Ubuntu, it is in the python-mode package.
- IPython -- IPython is a better interactive shell for Python. It has a lot more functionalities than the standard python shell. We will use IPython as a Python shell in Emacs. You should check these video tutorials for IPython as these are damn good. On Ubuntu, you can just download and install ipython package.
- Folding-mode -- Folding mode is a minor mode to allow folding a region of Emacs buffer. I used this to implement cells. You can get more information about folding-mode from here
- ropemacs -- rope pymacs
- pylint -- epylint