5

I am looking to develop arcpy scripts (ArcGIS 10.1) in an IDE that is more "integrated" than Pythonwin. I would like an experience that is analagous to programming ArcObjects in Visual Studio C#/VB.NET (which I've done a bit when arcpy did not offer enough low level control). When developing ArcObjects with C#, there there were templates ready, classes in seperate windows that I could explore (very good way to remember tools available!), and code completion for everything. I have not yet found any examples/screen shots/extended discussion of this type of setup. There is this post, but it focuses on effective arcpy debugging (which I definitly also need to learn more about).

Is it possible to setup Visual Studio 2010/SPE/Wing/ any other IDE that will, out of the box, make the arcpy development experience much more like the experience of programming ArcObjects using C#/VB.NET?

youzer
  • 574
  • 1
  • 5
  • 12

3 Answers3

5

If you want a good, free Python-centric IDE, check out PyScripter. I have also seen people swear by Eclipse with PyDev.

If you want to use Visual Studio for developing with Python check out Python Tools for Visual Studio.

Of course, there are major differences between developing with C#/VB.NET and Python because the former are compiled, [mostly] statically-typed languages, while Python is an interpreted language with duck typing so there will be some limitations as to what can be done with things like automatic renaming/refactoring, Intellisense, etc.

blah238
  • 35,793
  • 7
  • 94
  • 195
  • blah238, I am wondering how available Python IDEs can integrate with code specific to arcpy. Does everything just integrate out of the box or are there tricks and additional downloads that are needed for the IDEs you mention to "see" all available classes, ahve all code completion work etc? I have just never found this point stated explicitly anywhere. – youzer Oct 26 '12 at 20:00
  • 1
    In PyScripter, as long as you have an import statement for the module with the classes you are looking for, it should be able to code-complete them. I seem to remember there being an extra setup step in PTVS to get code completion working but that was a while ago. I encourage you to try it yourself as it is free. – blah238 Oct 26 '12 at 20:16
  • Anyone know about the current status of PyScripter development? Seems like it's not in dev. If not, is there something similar in current dev that anyone knows of? – ndimhypervol Dec 18 '12 at 20:13
  • pyscripter is very good, has code completion and debugging allows you to set break points with conditions. – Hornbydd Aug 29 '13 at 18:20
3

I would recomend PyCharm.

PyCharm is the ultimate tool for developing Python applications.

Why is PyCharm so good?

  • You can setup which environment you are working.
  • Code completion
  • Killer debugger
  • Python metrics and refactoring

My company and I use PyCharm to develop mostly Django applications and QGis plugins, but we are starting to develop some ArcPy with it.

The price tag is around 100 USD and it's great product. I highly recomend it.

George Silva
  • 6,298
  • 3
  • 36
  • 71
1

If you are using Visual Studio, why not use the Python Tools for Visual Studio

We also use it, and I have to say, that the integration is really great, especially for large python projects (PyPy, Django, and so on). Also code completion works for the arcpy site package.

After using it for a while now, I really think Visual Studio - if you can pay the price ;) - is definitely the best IDE for Python development, but especially for small scripting tasks in ArcGIS it also brings in a lot of overhead (create a solution, configuration, blahblah). So when I have to write a small arcpy script, I still very often just rely on IDLE.

I think you just have to give it a try...

Jürgen Zornig
  • 1,643
  • 12
  • 31