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
2014-12-08 22:19:55 -05:00
..
extensions Add nose and pylookup as regular directories 2014-11-14 23:12:47 -05:00
extensions.el Refactor python layer to be more modular 2014-12-08 22:19:55 -05:00
funcs.el separated python settings into a contrib 2014-11-14 22:41:45 -05:00
packages.el Refactor python layer to be more modular 2014-12-08 22:19:55 -05:00
README.md Update Python key bindings according to conventions 2014-12-08 20:58:35 -05:00

Python contribution layer for Spacemacs

Features

  • Auto-completion
  • Code Navigation
  • Virtual Environment
  • Documentation Lookup
  • Running Tests

Install

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

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

Key Bindings

Inferior REPL process

Start an (i)Python 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 s b | send buffer and keep code buffer focused <SPC> m s B | send buffer and switch to REPL in insert mode <SPC> m s f | send function and keep code buffer focused <SPC> m s F | send function and switch to REPL in insert mode <SPC> m s r | send region and keep code buffer focused <SPC> m s 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

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

 Debug        |                 Description

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

Other Python commands

Key Binding   |                 Description

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

Screenshots