Spyder: Difference between revisions

From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs)
mNo edit summary
Brian Wilson (talk | contribs)
mNo edit summary
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
Spyder is an IDE for Python. I learned of it when working for Ceres Imaging.
Spyder is an IDE for Python. I learned of it when working for Ceres Imaging.
'''Go read the [[Anaconda]] page and set it up, then come back here.'''


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


For me there are three critical features, which it has:
For me there are 4 critical features, which it has:
* It includes a source level debugger.
* It includes a source level debugger.
* It is cross-platform.
* It is cross-platform.
* It has code completion.
* 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.


Installing it does not require admin rights on Windows, so I can use it everywhere.
Install spyder into the Anaconda environment.


It's unusual in that it opens an IPython interpreter as its console window
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.
so you can just type in random python there.
 
I copied the pth files into the 32-bit and 64-bit envs/arc1051*/Lib/site-packages folders as well as the top level site-packages


== ArcGIS ==
It is likely NONE of this is needed with [[ArcGIS Pro]], just use the built in conda environment, and install spyder there.


My primary interest is to debug code running on Windows using arcpy.
To work with MDB (Personal Geodatabase) files requires working in a 32-bit space so I install Miniconda 32-bit + Python 2.7
That means I have to use a 2.7 kernel. Does that mean installing arcpy in a different place
just for those special occasions when I still need to use MDB files.
or getting spyder to use the Python that ESRI installs?


== Remote debugging ==
== Remote debugging ==
Line 26: Line 38:
I wonder if I could use a copy on my Mac to debug code running on a Parallels machine.
I wonder if I could use a copy on my Mac to debug code running on a Parallels machine.


== Mac ==
== 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.


Compared with Windows this is starting to seem difficult! I ran through several attempts before deriving the following.
You can use virtual environments, this will set one up called "gis" and
install all the modules that arcgis and gdal depend upon.


I could not find a combination of brew and pip commands that would give me a working spyder.
conda create -n gis -c esri arcgis gdal


With Windows I found [https://conda.io/miniconda.html
Now you have to tell spyder that you want it to use that virtualenv environment.
miniconda] worked, trying it on the Mac. The full "Anaconda" package is big and all I want is spyder!
I grabbed the 2.7 python version, I like python 3 but most of the GIS stuff around seems to prefer 2.7.
At least in the ESRI world.

Latest revision as of 17:57, 25 July 2018

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

Go read the Anaconda page and set it up, then come back here.

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.

I copied the pth files into the 32-bit and 64-bit envs/arc1051*/Lib/site-packages folders as well as the top level site-packages

It is likely NONE of this is needed with ArcGIS Pro, just use the built in conda environment, and install spyder there.

To work with MDB (Personal Geodatabase) files requires working in a 32-bit space so I install Miniconda 32-bit + Python 2.7 just for those special occasions when I still need to use MDB files.

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.