Spyder - The Scientific PYthon Development EnviRonment
Copyright © Spyder Project Contributors.
Important Announcement: Spyder is unfunded!
Since mid November/2017, Anaconda, Inc has stopped funding Spyder development, after doing it for the past 18 months. Because of that, development will focus from now on maintaining Spyder 3 at a much slower pace than before.
If you want to contribute to maintain Spyder, please consider donating at
We appreciate all the help you can provide us and can't thank you enough for supporting the work of Spyder devs and Spyder development.
If you want to know more about this, please read this page.
Spyder is a Python development environment with a lot of features:
Multi-language editor with function/class browser, code analysis features (pyflakes and pylint are currently supported), code completion, horizontal and vertical splitting, and goto definition.
Python or IPython consoles with workspace and debugging support to instantly evaluate the code written in the Editor. It also comes with Matplotlib figures integration.
Show documentation for any class or function call made either in the Editor or a Console.
Explore variables created during the execution of a file. Editing them is also possible with several GUI based editors, like a dictionary and Numpy array ones.
Find in files
Supporting regular expressions and mercurial repositories
Spyder may also be used as a PyQt5/PyQt4 extension library (module
spyder). For example, the Python interactive shell widget used in
Spyder may be embedded in your own PyQt5/PyQt4 application.
You can read the Spyder documentation at:
This section explains how to install the latest stable release of
Spyder. If you prefer testing the development version, please use
bootstrap script (see next section).
The easiest way to install Spyder is:
Using one (and only one) of these scientific Python distributions:
On Mac OSX:
- Through your distribution package manager (i.e.
- Using the Anaconda Distribution.
- Installing from source (see below).
Cross-platform way from source
You can also install Spyder with the
pip package manager, which comes by
default with most Python installations. For that you need to use the
pip install spyder
To upgrade Spyder to its latest version, if it was installed before, you need to run
pip install --upgrade spyder
For more details on supported platforms, please refer to our installation instructions.
Important note: This does not install the graphical Python libraries (i.e. PyQt5 or PyQt4) that Spyder depends on. Those have to be installed separately after installing Python.
Running from source
The fastest way to run Spyder is to get the source code using git, install PyQt5 or PyQt4, and run these commands:
- Install our runtime dependencies (see below).
You may want to do this for fixing bugs in Spyder, adding new features, learning how Spyder works or just getting a taste of it.
Important note: Most if not all the dependencies listed below come with Anaconda, WinPython and Python(x,y), so you don't need to install them separately when installing one of these Scientific Python distributions.
When installing Spyder from its source package, the only requirement is to have a Python version greater than 2.7 (Python 3.2 is not supported anymore).
- Python 2.7 or 3.3+
- PyQt5 5.2+ or PyQt4 4.6+: PyQt5 is recommended.
- qtconsole 4.2.0+: Enhanced Python interpreter.
- Rope 0.9.4+ and Jedi 0.9.0+: Editor code completion, calltips and go-to-definition.
- Pyflakes: Real-time code analysis.
- Sphinx: Rich text mode for the Help pane.
- Pygments 2.0+: Syntax highlighting for all file types it supports.
- Pylint: Static code analysis.
- Pycodestyle: Style analysis.
- Psutil: CPU and memory usage on the status bar.
- Nbconvert: Manipulation of notebooks in the Editor.
- Qtawesome 0.4.1+: To have an icon theme based on FontAwesome.
- Pickleshare: Show import completions on the Python consoles.
- PyZMQ: Run introspection services asynchronously.
- QtPy 1.2.0+: Abstracion layer for Python Qt bindings so that Spyder can run on PyQt4 and PyQt5.
- Chardet: Character encoding auto-detection in Python.
- Numpydoc: Used by Jedi to get return types for functions with Numpydoc docstrings.
- Cloudpickle: Serialize variables in the IPython kernel to send them to Spyder.
- Matplotlib: 2D/3D plotting in the Python and IPython consoles.
- Pandas: View and edit DataFrames and Series in the Variable Explorer.
- Numpy: View and edit two or three dimensional arrays in the Variable Explorer.
- SymPy: Symbolic mathematics in the IPython console.
- SciPy: Import Matlab workspace files in the Variable Explorer.
- Cython: Run Cython files in the IPython console.
Everyone is welcome to contribute. Please read our contributing instructions, then get started!
Support us with a monthly donation and help us continue our activities.
Become a sponsor to get your logo on our README on Github.