ArcPro: Python IDE with full code completion

5828
11
03-18-2015 02:16 PM
MatthiasBuehler
Occasional Contributor III

Hi,

I'm on Win8.1 64 bit. I have the latest ArcGIS Pro installed and would like to start diving into Python.

Which IDE would you recommend (Wing?) and how can I set up the full Python code completion in that IDE?

I've seen this is discussed a few times for ArcGIS 10.x with Python 2.x, but not for ArcGIS Pro. I hope I did not miss it.

Any input welcome.

Thanks.

m.

0 Kudos
11 Replies
BlakeTerhune
MVP Regular Contributor

You can do this in PyScripter.

  1. Go to Tools ---> Options ---> IDE Options
  2. Then in the Code Completion part add arcpy to the Special Packages list.

It does have a noticeable impact on performance though. It will hang for a few moments sometimes on the first load but once it gets the special packages read, it works fine.

0 Kudos
MatthiasBuehler
Occasional Contributor III

Hi,

thanks, but:

I'm running into exactly this:

https://answers.yahoo.com/question/index?qid=20140409195539AAMiqxk

--> Pyscripter only works with 32bit versions, but I'd like to use true 64bit.

Is there possibly an other IDE you could recommend ?

Please let me know..

m.

0 Kudos
BlakeTerhune
MVP Regular Contributor

I haven't used Wing, but it looks like the Auto-Completion and Source Assistant is what you need.

In some cases you may need add to the Python Path in Wing's Project Properties, accessed from the Project menu.

0 Kudos
Luke_Pinner
MVP Regular Contributor

PyScripter works fine with 64bit python.  However, ArcGIS Pro uses Python 3.4 which PyScripter does not support.  There is a contributed build for 3.4 in the issue on Google Code, but I don't know whether that is 64/32 bit.

However... I _do not_ recommend PyScripter as it is no longer being developed and has pretty much been abandoned by the author - no commits or releases since 2012, issues not being fixed, or even acknowledged.

Luke_Pinner
MVP Regular Contributor

So within a week of me slagging PyScripter off, the developer released a new version

http://sourceforge.net/projects/pyscripter

Luke_Pinner
MVP Regular Contributor

The free version of Wing (101) is _very_ limited and doesn't support code completion.

I use Wing Pro at home in a Linux environment and I highly recommend it, but I don't know how well it will support ArcGIS code completion (though going by other libraries, it will pick it up automatically and you won't need to do anything).

I use PyCharm 4x Community Edition at work for ArcGIS development. It automatically handles arcpy code completion fine (for 10.2 Desktop, but I think it will handle 10.3 Pro python fine, it's very smart).

I like PyCharm but I don't looove PyCharm as it's a bit too full featured and has quite a learning curve, but once you get up and running with it customised how you want, then it's great.

Wing Pro has a 30 free trial, PyCharm Community Edition is free. Try them both!

0 Kudos
MatthiasBuehler
Occasional Contributor III

Hi guys,

Thanks for the inputs. I installed Wing Pro to test it.

But I'm not sure how to do this:

In some cases you may need add to the Python Path in Wing's Project Properties, accessed from the Project menu.

--> Which precise file (that contains arcpy code completion stuff) on the harddrive to I point Wing to ?

--> Are there other things that I should be aware of?

--> Will I have to deal with licensing stuff at any point ?

m.

0 Kudos
MatthiasBuehler
Occasional Contributor III

Actually, let me revise this.

It seems when I just type import arcpy, it seems to directly find something, which is cool.

But.

1] The Python shell in Wing states 2.7.8

But I want to use 3.4, the newest. Also in ArcGIS Pro, I want to use the NEWEST stuff (not the old arcPy for 2.7.x. How can I make sure about this?

2] Are there other things that I should be aware of?

3] Will I have to deal with licensing stuff at any point ?

4] After I have created a script, what's the fastest way to execute that script inside ArcGIS Pro? Can I define running a specific script via a hotkey? Or do I have to call that script by using the Python shell and type it down? Any example would be most welcome!

Thanks, everybody!

Matt

ps. a tutorial video on all this would be great ..

Luke_Pinner
MVP Regular Contributor

I don't have Wing or 10.3 Pro at work to test, but you should just set the interpreter you want in the project properties

Wing has some excellent documentation and tutorials - https://wingware.com/support

For q. 3, yes you will have to deal with licensing, Wing Pro is only a 30 day trial - https://wingware.com/store/purchase

0 Kudos