This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/contrib/lang/python
2015-01-30 22:41:55 -05:00
..
extensions Add nose and pylookup as regular directories 2014-11-14 23:12:47 -05:00
img Move layer images into img directories 2014-12-24 01:03:49 -05:00
config.el Sort and modify key bindings in python layer packages.el 2015-01-30 22:28:47 -05:00
extensions.el Update CONTRIBUTE.md and add file headers 2015-01-13 23:12:56 -05:00
funcs.el Update CONTRIBUTE.md and add file headers 2015-01-13 23:12:56 -05:00
packages.el Sort and modify key bindings in python layer packages.el 2015-01-30 22:28:47 -05:00
README.md Update python layer README with Django support 2015-01-30 22:41:55 -05:00

Python contribution layer for Spacemacs

logo

Table of Contents

Description

This layer adds support for the Python language.

Features:

Install

To use this contribution add it to your ~/.spacemacs

(setq-default dotspacemacs-configuration-layers '(python)
  "List of contribution to load."
)

Key Bindings

Inferior REPL process

Start a Python or iPython inferior REPL process with SPC m i. If ipython is available in system executable search paths, ipython will be used to launch python shell; otherwise, default python interpreter will be used. You may change your system executable search path by activating a virtual environment.

Send code to inferior process commands:

Key Binding     |                 Description

--------------------|------------------------------------------------------------ SPC m b | send buffer and keep code buffer focused SPC m B | send buffer and switch to REPL in insert mode SPC m f | send function and keep code buffer focused SPC m F | send function and switch to REPL in insert mode SPC m r | send region and keep code buffer focused SPC m R | send region and switch to REPL in insert mode CTRL+j | next item in REPL history CTRL+k | previous item in REPL history

Testing in Python

Spacemacs uses nose as a test runner. An improved version of nose.el is shipped with Spacemacs, this version adds:

  • windows support
  • test suite support

The root of the project is detected with a .git directory or a setup.cfg file.

Test commands (start with m t or m T):

No Debug         |                 Description

---------------------|------------------------------------------------------------ SPC m t a | launch all tests of the project SPC m t b | launch all tests of the current buffer (same as module) SPC m t m | launch all tests of the current module SPC m t s | launch all tests of the current suite SPC m t t | launch the current test (function)

 Debug           |                 Description

---------------------|------------------------------------------------------------ SPC m T a | launch all tests of the project in debug mode SPC m T b | launch all tests of the current buffer (module) in debug mode SPC m T m | launch all tests of the current module in debug mode SPC m T s | launch all tests of the current suite in debug mode SPC m T t | launch the current test (function) in debug mode

Other Python commands

Key Binding       |                 Description

----------------------|------------------------------------------------------------ SPC m d b | toggle a breakpoint SPC m h d | quick documentation using anaconda SPC m h D | open documentation in firefox using pylookup SPC m g | go to definition using anaconda-mode-goto (C-o to jump back) SPC m v | activate a virtual environment with pyvenv

Django

Django related key bindings uses pony-mode and are behind the prefix SPC m j.

Manage Django with SPC m j m.

Fabric

Key Binding       |                 Description

----------------------|------------------------------------------------------------ mjaf | pony-fabric mjad | pony-fabric-deploy

Files

Key Binding       |                 Description

----------------------|------------------------------------------------------------ mjfs | pony-goto-settings mjfc | pony-setting mjft | pony-goto-template mjfr | pony-resolve

Interactive

Key Binding       |                 Description

----------------------|------------------------------------------------------------ mjid | pony-db-shell mjis | pony-shell

Server

Key Binding       |                 Description

----------------------|------------------------------------------------------------ mjrd | pony-stopserver mjro | pony-browser mjrr | pony-restart-server mjru | pony-runserver mjrt | pony-temp-server

South/Syncdb

Key Binding       |                 Description

----------------------|------------------------------------------------------------ mjsc | pony-south-convert mjsh | pony-south-schemamigration mjsi | pony-south-initial mjsm | pony-south-migrate mjss | pony-syncdb

Test

Key Binding       |                 Description

----------------------|------------------------------------------------------------ mjtd | go down the stack mjte | go to test error mjto | pony-test-open mjtt | pony-test mjtu | go up the stack