diff --git a/README.md b/README.md index c460b432416..6135c31ac87 100644 --- a/README.md +++ b/README.md @@ -71,12 +71,11 @@ The easiest way to install Spyder is: ### On Windows: -- Or using one of these scientific Python distributions: - 1. [Anaconda](http://continuum.io/downloads) - 2. [WinPython](https://winpython.github.io/) - 3. [Python(x,y)](http://python-xy.github.io) -- Using one of our executable installers, which can be found - [here](https://github.com/spyder-ide/spyder/releases). +Using one (and only one) of these scientific Python distributions: + +1. [Anaconda](http://continuum.io/downloads) +2. [WinPython](https://winpython.github.io/) +3. [Python(x,y)](http://python-xy.github.io) ### On Mac OSX: @@ -109,7 +108,7 @@ For more details on supported platforms, please refer to our [installation instructions](http://pythonhosted.org/spyder/installation.html). **Important note**: This does not install the graphical Python libraries (i.e. -PyQt5 or PyQt4) that Spyder depend on. Those have to be installed separately +PyQt5 or PyQt4) that Spyder depends on. Those have to be installed separately after installing Python. diff --git a/doc/console.rst b/doc/console.rst index 97411a19389..da358088d04 100644 --- a/doc/console.rst +++ b/doc/console.rst @@ -33,29 +33,4 @@ Related plugins: * :doc:`help` * :doc:`historylog` * :doc:`editor` -* :doc:`explorer` - - -Reloading modules: the User Module Deleter (UMD) ------------------------------------------------- - -When working with Python scripts interactively, one must keep in mind that -Python import a module from its source code (on disk) only when parsing the -first corresponding import statement. During this first import, the byte code -is generated (.pyc file) if necessary and the imported module code object is -cached in `sys.modules`. Then, when re-importing the same module, this cached -code object will be directly used even if the source code file (.py[w] file) -has changed meanwhile. - -This behavior is sometimes unexpected when working with the Python interpreter -in interactive mode, because one must either always restart the interpreter -or remove manually the .pyc files to be sure that changes made in imported -modules were taken into account. - -The User Module Deleter (UMD) is a Spyder console's exclusive feature that -forces the Python interpreter to reload modules completely when executing -a Python script. - -For example, when UMD is turned on, one may test complex applications -within the same Python interpreter without having to restart it every time -(restart time may be relatively long when testing GUI-based applications). \ No newline at end of file +* :doc:`fileexplorer` diff --git a/doc/editor.rst b/doc/editor.rst index c2e677aa120..a903a234625 100644 --- a/doc/editor.rst +++ b/doc/editor.rst @@ -9,15 +9,27 @@ function/class browser, horizontal/vertical splitting features, etc. Function/class/method browser: +| + .. image:: images/editor1.png + :align: center +| Code analysis with `pyflakes`: +| + .. image:: images/editor2.png + :align: center +| Horizontal/vertical splitting feature: +| + .. image:: images/editor3.png + :align: center +| How to define a code cell -------------------------- @@ -37,5 +49,5 @@ Cells are separated by lines starting with: Related plugins: * :doc:`console` -* :doc:`explorer` +* :doc:`fileexplorer` * :doc:`findinfiles` diff --git a/doc/explorer.rst b/doc/explorer.rst deleted file mode 100644 index 73881e9b7a6..00000000000 --- a/doc/explorer.rst +++ /dev/null @@ -1,20 +0,0 @@ -Explorer -======== - -The explorer plugin is a file/directory browser allowing the user to open files -with the internal editor or with the appropriate application (Windows only). - -.. image:: images/explorer.png - -Context menus may be used to run a script, open a terminal window or run a -Windows explorer window (Windows only): - -.. image:: images/explorer_menu1.png - -.. image:: images/explorer_menu2.png - - -Related plugins: - -* :doc:`console` -* :doc:`editor` diff --git a/doc/fileexplorer.rst b/doc/fileexplorer.rst new file mode 100644 index 00000000000..f20d58599cd --- /dev/null +++ b/doc/fileexplorer.rst @@ -0,0 +1,33 @@ +File Explorer +============= + +The file explorer pane is a file/directory browser allowing the user to open +files with the internal editor or with the appropriate application (Windows +only). + +| + +.. image:: images/explorer.png + :align: center + +| + +Context menus may be used to run a script, open a terminal window or run a +Windows explorer window (Windows only): + +| + +.. image:: images/explorer_menu1.png + :align: center + +| + +.. image:: images/explorer_menu2.png + :align: center + +| + +Related plugins: + +* :doc:`ipythonconsole` +* :doc:`editor` diff --git a/doc/images/internalconsole.png b/doc/images/internalconsole.png index cf81ad889e9..60e8ecca353 100644 Binary files a/doc/images/internalconsole.png and b/doc/images/internalconsole.png differ diff --git a/doc/images/ipythonkernelconnect.png b/doc/images/ipythonkernelconnect.png index 48179fb9bce..7f432264271 100644 Binary files a/doc/images/ipythonkernelconnect.png and b/doc/images/ipythonkernelconnect.png differ diff --git a/doc/images/new_project.png b/doc/images/new_project.png new file mode 100644 index 00000000000..2e99b67dbbb Binary files /dev/null and b/doc/images/new_project.png differ diff --git a/doc/images/projectexplorer.png b/doc/images/projectexplorer.png index 1d7d540b3d9..0caf45cf590 100644 Binary files a/doc/images/projectexplorer.png and b/doc/images/projectexplorer.png differ diff --git a/doc/images/projectexplorer2.png b/doc/images/projectexplorer2.png index 69fabde796d..4a4f73edca7 100644 Binary files a/doc/images/projectexplorer2.png and b/doc/images/projectexplorer2.png differ diff --git a/doc/images/variableexplorer2.png b/doc/images/variableexplorer2.png deleted file mode 100644 index 4e63b77eafb..00000000000 Binary files a/doc/images/variableexplorer2.png and /dev/null differ diff --git a/doc/index.rst b/doc/index.rst index 0928e7cc06a..d2a120b87ac 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -30,18 +30,18 @@ Contents: overview installation options - console + editor ipythonconsole debugging + console variableexplorer help - onlinehelp + projects + pylint + fileexplorer historylog - explorer - projectexplorer - editor findinfiles - pylint + onlinehelp internalconsole Indices and tables: diff --git a/doc/installation.rst b/doc/installation.rst index dec8ebebd6c..e9fac331c14 100644 --- a/doc/installation.rst +++ b/doc/installation.rst @@ -41,12 +41,12 @@ Updating Spyder You can update Spyder by: -* Updating Anaconda, WinPython, Python(x,y). +* Updating Anaconda, WinPython or Python(x,y). * Or using this command (in case you *don't* use any of those scientific distributions):: - pip install --update spyder + pip install --upgrade spyder .. note:: @@ -223,7 +223,7 @@ Installation procedure 2. If you don't use Anaconda, you need to run: - ``pip install --update spyder`` + ``pip install --upgrade spyder`` Run without installing diff --git a/doc/internalconsole.rst b/doc/internalconsole.rst index fa34760b532..c12881f370b 100644 --- a/doc/internalconsole.rst +++ b/doc/internalconsole.rst @@ -7,41 +7,13 @@ All the commands entered in the internal console are executed in the same process as Spyder's, but the Internal Console may be executed in a separate thread (this is optional and for example this is not the case in Spyder itself). +| + .. image:: images/internalconsole.png + :align: center + +| The internal console support the following features: * Code completion and calltips -* User Module Deleter (as in :doc:`console`) - -Special commands ----------------- - -The following special commands are supported by the interactive console. - -- Edit script - - ``edit foobar.py`` will open ``foobar.py`` with Spyder's editor. - ``xedit foobar.py`` will open ``foobar.py`` with the external editor. - -- Execute script - - ``run foobar.py`` will execute ``foobar.py`` in interactive console. - -- Remove references - - ``clear x, y`` will remove references named ``x`` and ``y``. - -- Shell commands - - ``!cmd`` will execute system command ``cmd`` (example ``!ls`` on Linux or - ``!dir`` on Windows). - -- Python help - - ``object?`` will show ``object``'s help in documentation viewer. - -- GUI-based editor - - ``oedit(object)`` will open an appropriate GUI-based editor to modify object - ``object`` and will return the result. diff --git a/doc/ipythonconsole.rst b/doc/ipythonconsole.rst index 77015b88947..f530daee17b 100644 --- a/doc/ipythonconsole.rst +++ b/doc/ipythonconsole.rst @@ -7,19 +7,32 @@ a lightweight front-end interface connects to a full IPython kernel on the back end. Visit the IPython project website for full documentation of IPython's many features. +| + .. image:: images/ipythonconsole.png + :align: center +| From the Consoles menu, Spyder can launch **IPython Console** instances that attach to kernels that are managed by Spyder itself or it can connect to external kernels that are managed by IPython Qt Console sessions or the IPython Notebook. +| + .. image:: images/ipythonconsolemenu.png + :align: center + +| When "Connect to an existing kernel" is selected, Spyder prompts for the kernel connection file details: +| + .. image:: images/ipythonkernelconnect.png + :align: center +| **IPython Consoles** that are attached to kernels that were created by Spyder support the following features: @@ -40,9 +53,34 @@ set: debugging step commands to the kernel. Breakpoints must be set manually from the console command line. + +Reloading modules: the User Module Reloader (UMR) +------------------------------------------------- + +When working with Python scripts interactively, one must keep in mind that +Python import a module from its source code (on disk) only when parsing the +first corresponding import statement. During this first import, the byte code +is generated (.pyc file) if necessary and the imported module code object is +cached in `sys.modules`. Then, when re-importing the same module, this cached +code object will be directly used even if the source code file (.py[w] file) +has changed meanwhile. + +This behavior is sometimes unexpected when working with the Python interpreter +in interactive mode, because one must either always restart the interpreter +or remove manually the .pyc files to be sure that changes made in imported +modules were taken into account. + +The User Module Reloader (UMR) is a Spyder console's exclusive feature that +forces the Python interpreter to reload modules completely when executing +a Python script. + +For example, when UMR is turned on, one may test complex applications +within the same Python interpreter without having to restart it every time +(restart time may be relatively long when testing GUI-based applications). + + Related plugins: * :doc:`help` * :doc:`editor` -* :doc:`explorer` - +* :doc:`fileexplorer` diff --git a/doc/overview.rst b/doc/overview.rst index 028fa25abcf..b4d258c4548 100644 --- a/doc/overview.rst +++ b/doc/overview.rst @@ -47,7 +47,7 @@ Key features: * *to-do* lists (TODO, FIXME, XXX) * errors/warnings (real-time *code analysis* provided by `pyflakes`) - * integrated *`pylint` code analysis* + * integrated static code analysis (using `pylint`) * direct link to `winpdb` external debugger * :doc:`console`: @@ -71,8 +71,8 @@ Key features: * :doc:`onlinehelp`: automatically generated html documentation on installed Python modules * :doc:`findinfiles`: find string occurrences in a directory, a mercurial repository or directly in PYTHONPATH (support for regular expressions and included/excluded string lists) -* :doc:`explorer` -* :doc:`projectexplorer` (support Pydev project import) +* :doc:`fileexplorer` +* :doc:`projects` Spyder may also be used as a PyQt5 or PyQt4 extension library diff --git a/doc/projectexplorer.rst b/doc/projectexplorer.rst deleted file mode 100644 index 4544fc1b6c3..00000000000 --- a/doc/projectexplorer.rst +++ /dev/null @@ -1,39 +0,0 @@ -Project Explorer -================ - -The project explorer plugin handles project management in Spyder with the -following main features: - -* import from existing Pydev (Eclipse) or Spyder projects -* add/remove project folders to/from Spyder's PYTHONPATH directly from - the context menu or manage these folders in a dedicated dialog box -* multiple file selection (for all available actions: open, rename, delete, - and so on) -* file type filters - -.. image:: images/projectexplorer.png - -.. image:: images/projectexplorer2.png - -Version Control Integration ---------------------------- - -Spyder has limited integration with Mercurial_ and Git_. Commit and browse -commands are available by right-clicking on relevant files that reside within -an already initialized repository. These menu picks -assume that certain commands are available on the system path. - -* For Mercurial repositories, TortoiseHG_ must be installed, and either ``thg`` - or ``hgtk`` must be on the system path. -* For git repositories, the commands ``git`` and ``gitk`` must be on the - system path. For Windows systems, the msysgit_ package provides a convenient - installer and the option to place common git commands on the system path without - creating conflicts with Windows system tools. - The second option in the dialog below is generally a safe approach. - -.. image:: images/git_install_dialog.png - -.. _Git: http://git-scm.com/ -.. _Mercurial: http://mercurial.selenic.com/ -.. _TortoiseHg: http://tortoisehg.bitbucket.org/ -.. _msysgit: https://code.google.com/p/msysgit/ diff --git a/doc/projects.rst b/doc/projects.rst new file mode 100644 index 00000000000..98840bf021c --- /dev/null +++ b/doc/projects.rst @@ -0,0 +1,69 @@ +Projects +======== + +Spyder allows users to associate a given directory with a project. This has two +main advantages: + +1. Projects remember the list of open files in Editor. This permits to easily + work on several coding efforts at the same time. +2. The project's path is added to the list of paths Python looks modules for, so + that modules developed as part of a project can be easily imported in any + console. + +To create a project, it is necessary to select the *New Project* entry from the +*Projects* menu: + +| + +.. image:: images/new_project.png + :align: center + +| + +When a project is activated, the *Project explorer* pane is shown, which +presents a tree view structure of the current project + +| + +.. image:: images/projectexplorer.png + :align: center + +| + +Through this pane it is possible to make several operations on the files that +belong to project + +| + +.. image:: images/projectexplorer2.png + :align: center + +| + +.. note:: Projects are completely optional and not imposed on users, i.e. users + can work without creating any project. + + +Version Control Integration +--------------------------- + +Spyder has limited integration with Git_ and Mercurial_. Commit and browse +commands are available by right-clicking on relevant files that reside within +an already initialized repository. This menu assume that certain commands are +available on the system path. + +* For Mercurial repositories, TortoiseHG_ must be installed, and either ``thg`` + or ``hgtk`` must be on the system path. +* For git repositories, the commands ``git`` and ``gitk`` must be on the + system path. For Windows systems, the `Git for Windows`_ package provides a + convenient installer and the option to place common git commands on the + system path without creating conflicts with Windows system tools. + The second option in the dialog below is generally a safe approach. + +.. image:: images/git_install_dialog.png + :align: center + +.. _Git: http://git-scm.com/ +.. _Mercurial: http://mercurial.selenic.com/ +.. _TortoiseHg: http://tortoisehg.bitbucket.org/ +.. _Git for Windows: https://git-for-windows.github.io/ diff --git a/doc/pylint.rst b/doc/pylint.rst index f5e15337234..309cd5b0551 100644 --- a/doc/pylint.rst +++ b/doc/pylint.rst @@ -1,12 +1,17 @@ -Pylint extension -================ +Static code analysis +==================== -Pylint extension may be used directly from the :doc:`editor`, or by entering -manually the Python module or package path - i.e. it works either with `.py` -(or `.pyw`) Python scripts or with whole Python packages (directories containing -an `__init__.py` script). +The static code analysis tool may be used directly from the :doc:`editor`, or +by entering manually the Python module or package path - i.e. it works either +with `.py` (or `.pyw`) Python scripts or with whole Python packages +(directories containing an `__init__.py` script). + +| .. image:: images/pylint.png + :align: center + +| Related plugins: diff --git a/doc/variableexplorer.rst b/doc/variableexplorer.rst index 3fcb2633741..8dccf3fa6a5 100644 --- a/doc/variableexplorer.rst +++ b/doc/variableexplorer.rst @@ -1,40 +1,51 @@ Variable Explorer ================= -The variable explorer shows the `globals()` namespace contents (i.e. all global -object references) of the current console: it supports both the :doc:`console` -(Python interpreter running in a remote process) -and the :doc:`internalconsole`. +The variable explorer shows the namespace contents (i.e. all global object +references) of the current console + +| .. image:: images/variableexplorer1.png + :align: center + +| The following screenshots show some interesting features such as editing lists, strings, dictionaries, NumPy arrays, or plotting/showing NumPy arrays data. +| + .. image:: images/listeditor.png + :align: center + +| .. image:: images/texteditor.png + :align: center + +| .. image:: images/dicteditor.png + :align: center + +| .. image:: images/arrayeditor.png + :align: center -.. image:: images/variableexplorer-plot.png +| -.. image:: images/variableexplorer-imshow.png +.. image:: images/variableexplorer-plot.png + :align: center -The default variable explorer configuration allows to browse global variables -without slowing the console even with very large NumPy arrays, lists or -dictionaries. The trick is to truncate values, to hide collection contents -(i.e. showing '' instead of list contents) and to *not* show -mininum and maximum values for NumPy arrays (see context menu options on the -screenshot at the top of this page). +| -However, most of the time, choosing the opposite options won't have too much -effect on console's performance: +.. image:: images/variableexplorer-imshow.png + :align: center -.. image:: images/variableexplorer2.png +| Supported types @@ -57,5 +68,4 @@ supported are: Related plugins: -* :doc:`console` -* :doc:`internalconsole` +* :doc:`ipythonconsole`