This image is useful for python developers working on a package and use the package at the same time interactively in ipython notebooks. The provided emacs installation is fully configured to work with python 2.7 and 3.4 and notebooks can be started as needed.
This image provides python 2.7 and 3.4 environments with jupyter (ipython notebook) and many additional packages:
- numeric (numpy, scipy linked to openBLAS)
- plotting (matplotlib, seaborn, ggplot, bokeh)
- pandas, scikit-learn, hdf5, yt, sympy, statsmodels, theano, lasagne, mock, pytest
and emacs 24.5 that is configured with:
- syntax checks (pep8, flake8, flyckeck)
- code browsing (jedi)
- auto completion (jedi)
- virtual environment selection (virtualenvwrapper)
- convenient git functions (magit)
- testing (pytest)
- org-mode (8.3.3) with ox-reveal to create presentations
The docker file is based on jupyter/notebook and simply installs emacs along with the mentioned emacs packages and configurations.
Starting tmux inside the container forwarding a port to access the notebooks and mounting a host directory inside the container containing the package to develop and notebooks.
docker run -d -P -p 8888:8888 \ -v ~/Code:/root/Code \ -e "TZ=Europe/Berlin" \ alexanderboettcher/ipython-emacs-ide
Then browse to the folder containing the note books and start them
cd /root/Code/notebooks ipython notebook --port=8888 --ip=* --no-browser
Create a new tmux tab by pressing
Ctr-\ c and start emacs.
I changed the tmux escape key to
Ctr-\ because emacs uses
Ctr-b already and bound
F10 to select previous and next tmux shell. Tests can be run with
Ctr-tmwhich runs the command pytest-module and
Ctr-ta runs the command pytest-all and
Ctr-t. runs the command pytest-one.