IDE for ironpython on windows [closed]
Asked Answered
P

9

34

I am currently learning ironpython and loving but i'm looking to move on from using notepad++ and cmd.exe and try using something with a bit more juice.

I recently learned that iron python studio does not support iron python 2 so that makes my choice a bit more difficult.

Is their any IDE's for windows that would be good iron python 2 development?

Prosser answered 16/4, 2009 at 12:23 Comment(1)
There have been some updates as to what is available since the accepted answer was posted. I suggest looking further down the page at Jeff Hardy's answer.Blakney
I
21

SharpDevelop with IronPython 2.0 Beta Integration is worth a look - especially given that it's free.

Also, check out this Iron Python 2 - what IDE do YOU use? discussion. Seems to confirm your belief that "IronPython Studio doesn't support IronPython 2".

Illegible answered 16/4, 2009 at 12:28 Comment(0)
A
19

NOTE: I recently wrote a review of using several major IDEs with IronPython: http://www.voidspace.org.uk/ironpython/tools-and-ides.shtml (Including SharpDevelop, Eclipse and PyDev, Wing, Visual Studio and IronPython Studio)


I'm not a big fan of IronPython Studio it's not really production quality in my opinion. The designers target IronPython 1 and the generated code require changes to run them on their own with IronPython. Having to modify generated code is never good!

I use the designers with Visual Studio to generate C# and then subclass in IronPython to actually implement the functionality.

For working with IronPython any of the 'normal' Python IDEs will be fine. I like Wing because the autocomplete is the best I've seen in a Python editor. You can also teach it to do autocomplete for .NET libraries (by generating PI files).

For working with Wing (Wing personal is free - but the professional version is better) don't set your interpreter in the project settings to be ipy.exe though because you lose the interactive shell inside Wing which is very useful for trying things out.

This means that you need external tools to run your tests, launch your application, but using the Wing scripting API or the OS tools to integrate these tools into Wing is easy.

Komodo, SPE, Vim, Emacs are all editors / IDEs with Python integration and will all work very well - which you prefer depends on your tastes and workflow.

Do you have any other requirements for an IDE?

For general IronPython development I use MSBuild to provide build automation, Wix for building installers, Pyc (IronPython compiler sample) to compile to binary assemblies, and a custom executable for the project that is very thin wrapper around the IronPython hosting API written in C#. An editor / IDE is only one of the tools used - and a general Python IDE should serve you well.

[1]: NOTE: I recently wrote a review of using several major IDEs with IronPython http://www.voidspace.org.uk/ironpython/tools-and-ides.shtml

Aversion answered 16/4, 2009 at 22:32 Comment(1)
Wing Personal isn't free ("$35 per developer working on a single operating system, $60 for two operating systems, and $80 for three operating systems."), although Wing 101 is.Sigismund
S
9

You can try the ironpythonstudio Visual Studio shell. It seems a bit old, and may require re-building for use with current IronPython versions.

Side note:

On SO Podcast #50 (April 22, 2009), Steve Yegge mentions an internal Google project involving an IDE for JavaScript, and mentions that the "Python crowd" in Google were interested. In the somewhat distant future, we may see some (Iron)Python-capable IDE coming from Google.

From the transcript, after mark [21:37] :

Yegge: Code navigation. So, the JavaScript approach that we've taken is, I think, a model for how we're going to do static analysis, and when I say "we", I mean the industry—how we want to do static analysis for languages like Perl and Python and Ruby and so on. In fact, the Python crowd here, when they [saw] what I had done internally, they were like "oh, we want that for Python in a big way." And so...

Seclusive answered 16/4, 2009 at 12:28 Comment(4)
It's a bit buggy I find, but overall better than anything else.Hammy
It's also quite a hassle to install (or at least it was for me).Baca
From what i understand it wont work with ironpython 2 but i hope someone proves me wrong :)Prosser
IronPython Studio is not production quality - and other IDEs have much better autocomplete (etc) for working with Python. What you get with IronPython Studio is the visual designers - but they target IronPython 1 and not 2. You can still use the visual designers from Visual Studio (Express) generating C# and then use the generated assemblies (including subclassing) from IronPython.Aversion
H
7

The Python Tools for Visual Studio are a great choice, and they even support regular Python, Jython, and PyPy as well.

They have support for refactoring, debugging, code completion, and all sorts of other expected VS features. There's even a bunch of features for HPC development as well, as the tools are developed by Microsoft's Technical Computing Group.

Hippocampus answered 4/6, 2010 at 22:13 Comment(1)
I also think this is actually the best solution. If you go this route, you can download the Visual Studio Shell(integrated) for free and then download the tools. I find it helps to download the shell first!Blakney
I
3

I have used wing and SharpDevelop and Corflags and IronPythonStudio. I don't like them as much as Eclipse. Here is why: SharpDevelop and CorFlags don't pack as much power and linking DLLs are sometimes a problem. IronPythonStudio is an implementation on Microsoft's Visual Studio, which I absolutely hate because it hogs more of my processor than it has any right to, and being as I work on a laptop, I cannot put up with this.

I have only ever used the free version of Wing, which doesn't give user options such as autocomplete and the ctrl+space for function libraries.

Eclipse IDE is AWESOME for Java, which is how I got introduced to it, in the first place. It has all the user options and I can't see myself using another IDE... ever.

The best thing about eclipse is that they have plugins for every language. I am currently developing code using eclipse in Java, PHP, Python and IronPython. I have also recommended it to friends who have used it for C/C++ coding and love it.

Here's how you make eclipse work with IronPython:

  1. Download and Install IronPython 2.6B2 or higher here.
  2. Download the "Eclipse IDE for Java Developers" version of eclipse here
  3. Be sure to install the java Virtual Machine or eclipse will refuse to start up.
  4. Now, open the eclipse IDE and go to Help>Install New Software
  5. Click on "Add…"
  6. Add this location: http://pydev.org/updates/
  7. Choose all the updates and install.

Congratulations! you should now be able to use eclipse to develop and run IronPython code. If eclipse gives you trouble about finding an interpreter, all you need to do is go to the project settings in eclipse and configure the interpreter to be ipy.exe which should be in the install folder (from when you installed IronPython).

If you feel that you would like compile your ipy script into an exe, I have not been able to accomplish that yet and there is already a thread for that on SO.

May The Force Be With You...

Inordinate answered 31/10, 2009 at 0:3 Comment(0)
W
2

Check "DIE" (for Davy's Ironpython Editor). It's an opensource project. A clutter free IronPython code editor with some basic IDE features : http://code.google.com/p/davysironpythoneditor/

Wickman answered 21/4, 2009 at 15:22 Comment(1)
Davy's Editor is gone :( Does anyone know where else to find a copy?Kuska
C
1

I use emacs. No, really!

If you already use emacs and you'd like to use IronPython from python-mode, I described the process in another stackoverflow question. I've used emacs+IronPython to develop Office automation and various other .NET utility scripts.

Clearheaded answered 23/4, 2009 at 20:47 Comment(0)
H
0

Apparently Jetbrains' PyCharm will support IronPython.... have not tried it yet myself but Jetbrains make good stuff.

Handbill answered 19/2, 2010 at 21:32 Comment(0)
K
0

The implementation of the sys module was improved so that you can now utilize CPython’s pdb module in basic scenarios to debug IronPython sessions provided you pass the –X:Frames or –X:FullFrames options to ipy.exe

Kashakashden answered 20/6, 2010 at 2:26 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.