Spyder

From Wildsong
Jump to navigationJump to search

Spyder is an IDE for Python. I learned of it when working for Ceres Imaging.

https://github.com/spyder-ide/spyder

For me there are 4 critical features, which it has:

  • It includes a source level debugger.
  • It is cross-platform.
  • It has code completion.
  • Installing it does not require admin rights on Windows, so I have added it to my toolbox of portable Windows tools.

It's unusual in that it opens an IPython interpreter as its console window so you can just type in random python there. At Ceres we used it like a shell prompt to run code much like running commands.

ArcPy

My initial interest in spyder was to debug code running on Windows using arcpy.

First, get everything going with Anaconda. That means getting arcpy to import from a python prompt.

Install spyder into the Anaconda environment.

To allow other Python installations to access Arcpy a file must be copied from the \Lib\site-packages\ folder within the Arc Python installation and placed in the corresponding folder of the non-Arc Python. If you have not installed 64-bit background geoprocessing the file is Desktop10.1.pth; if you have installed it, the file is DTBGGP64.pth.

Remote debugging

This is something I can do in Komodo, but I have not needed it in some time, so I have not tried it in Spyder yet. Some notes: https://groups.google.com/forum/#!searchin/spyderlib/remote%7Csort:relevance/spyderlib/usljVmI50GI/BdjmwX1k4nAJ

I wonder if I could use a copy on my Mac to debug code running on a Parallels machine.

Mac install note

cd ~/bin
ln -s ../miniconda2/bin/conda
ln -s ../miniconda2/bin/spyder

Instead of trying to trick Spyder into using another Python, I just switched over to using Spyder for GIS and I install modules using "conda install modulename", e.g. "conda install gdal" will install the latest gdal.

You can use virtual environments, this will set one up called "gis" and install all the modules that arcgis and gdal depend upon.

conda create -n gis -c esri arcgis gdal

Now you have to tell spyder that you want it to use that virtualenv environment.