tag:blogger.com,1999:blog-21500237.post839760370593741665..comments2023-04-29T04:08:32.247-04:00Comments on Praise, Curse, and Recurse: The Abysmal State of Python IDEsPaul R. Pottshttp://www.blogger.com/profile/04401509483200614806noreply@blogger.comBlogger47125tag:blogger.com,1999:blog-21500237.post-64663018403158167112008-04-03T21:16:00.000-04:002008-04-03T21:16:00.000-04:00Followup: yes, the problem with Komodo on MacOS X ...Followup: yes, the problem with Komodo on MacOS X was that Komodo's environment specifies a PATH containing only /usr/bin, not /usr/local/bin. Putting /usr/local/bin first and re-launching the IDE works to find the newer python. It's also possible to specify the exact path to use for Python in particular independently of the other languages supported.Paul R. Pottshttps://www.blogger.com/profile/04401509483200614806noreply@blogger.comtag:blogger.com,1999:blog-21500237.post-77631066967850115562008-04-03T14:00:00.000-04:002008-04-03T14:00:00.000-04:00The fine folks at ActiveState already have propose...The fine folks at ActiveState already have proposed a possible reason for, and solution to, this bug. I will confirm tonight. <BR/><BR/>Apparently when I installed an updated Python on MacOS X 10.4, using the installer from python.org, it did not replace the standard installation under /usr/bin, but added a new one under /usr/local/bin, and changed the environment variables to refer to it. By default Komodo is seeing only the old one, which is python 2.3.<BR/><BR/>When coming across a problem like this it is often worth asking not just how to fix it, but how it could have been prevented. Otherwise we just implement workarounds, rather than improve the usability of the programs in question.<BR/><BR/>- If the installer from python.org had given me an option to replace the default python, I would have said yes. This is a case where I might have been better off doing a command-line install, because I would have had to specify just where the new python was going. Instead, I let the installer do what it thought was the right thing.<BR/><BR/>- If Komodo was able to use the existing environment, or check for a condition like this upon first executing, and ask me to choose with python to use by default, I would have asked it to use the newer version.<BR/><BR/>Either of these would have prevented this issue from arising. I will suggest the latter to the Komodo folks; they can do with that suggestion what they will.Paul R. Pottshttps://www.blogger.com/profile/04401509483200614806noreply@blogger.comtag:blogger.com,1999:blog-21500237.post-37179762101505596152008-04-03T00:55:00.000-04:002008-04-03T00:55:00.000-04:00OK, I had a pretty productive day with Komodo for ...OK, I had a pretty productive day with Komodo for Windows. I'm again bringing the project folder home to work on my Mac.<BR/><BR/>Komodo IDE for MacOS X just does _not_ like this function:<BR/><BR/>def makeRequiredElementTextDict( node, tag_names ):<BR/> return dict( ( tag_name, getRequiredElementText( node, tag_name ) )<BR/> for tag_name in tag_names )<BR/><BR/>Oddly, it complains about a syntax error at the "for," whether the return statement is broken before the "for" with a forward slash and line break, just a line break, or all together on one line. The same file is handled just fine by Python on the command line. It also seems to be handled just fine in all three forms by the Komodo IDE for Windows. Very odd. Line endings seem to have nothing to do with the problem, since changing them has no effect.<BR/><BR/>I will submit this as a bug to ActiveState and see what they say.Paul R. Pottshttps://www.blogger.com/profile/04401509483200614806noreply@blogger.comtag:blogger.com,1999:blog-21500237.post-59184931018232921532008-04-02T17:21:00.000-04:002008-04-02T17:21:00.000-04:00It's worth noting that the parentheses there make ...It's worth noting that the parentheses there make the line-continuation backslash unnecessary. Perhaps that's why Komodo doesn't expect one there.Jonathan Ellishttps://www.blogger.com/profile/11003648392946638242noreply@blogger.comtag:blogger.com,1999:blog-21500237.post-53841384684780994792008-04-02T16:48:00.000-04:002008-04-02T16:48:00.000-04:00Hi Brendan,It seems like the line-ending issue has...Hi Brendan,<BR/><BR/>It seems like the line-ending issue has pretty much been resolved; it appears that Komodo was initially complaining so much because the line endings were mixed.<BR/><BR/>However, I still am baffled by the syntax errors I'm getting when trying to build on the MacOS X version only. The functions in question look like this:<BR/><BR/>def makeRequiredElementTextDict( node, tag_names ):<BR/>return dict( ( tag_name, getRequiredElementText( node, tag_name ) ) \<BR/>for tag_name in tag_names )<BR/><BR/>Note the line-continuation character. I think that has something to do with it. (The original is indented, of course; I don't think I can get the comments to show the literal formatting).<BR/><BR/>I'm irritated as well that PythonWin from ActiveState has an editor that auto-indents differently than the Komodo IDE...Paul R. Pottshttps://www.blogger.com/profile/04401509483200614806noreply@blogger.comtag:blogger.com,1999:blog-21500237.post-1177313788920617102008-04-02T15:32:00.000-04:002008-04-02T15:32:00.000-04:00I deal with Komodo at work in three environments, ...I deal with Komodo at work in three environments, and I'm rather surprised at your difficulties.<BR/><BR/>Working with different line endings is rather trivial: We always use unix line endings, since they're cross-platform. In Komodo you change this in the New Files part of preferences.<BR/><BR/>To deal with files with existing line-ending differences you can just right click on the open file and go to properties. In properties you will find the ability to change line endings or explicitly preserve them on a file by file basis.Unknownhttps://www.blogger.com/profile/00245321851083972443noreply@blogger.comtag:blogger.com,1999:blog-21500237.post-67630673899775204812008-04-02T11:58:00.000-04:002008-04-02T11:58:00.000-04:00Ever since leaving the Windows world, I gave up th...Ever since leaving the Windows world, I gave up the great (yes, I said it!) IDE that is Visual Studio.<BR/><BR/>With that said, does nobody use Winpdb (<A HREF="http://www.winpdb.org/" REL="nofollow">www.winpdb.org</A>)? I have used it briefly, but not enough to pass judgement on it. It certainly looks capable, and despite the name it does advertise itself as a <I>"Platform Independent Python Debugger"</I>.EmmEffhttps://www.blogger.com/profile/00899471373858356286noreply@blogger.comtag:blogger.com,1999:blog-21500237.post-21585906076738099292008-04-01T22:19:00.000-04:002008-04-01T22:19:00.000-04:00For what it's worth, I got several good hours of g...For what it's worth, I got several good hours of good debugging work out of Komodo IDE. The variable display is very nice and the editor is reasonable. The only thing I miss is that at a breakpoint, it didn't seem like I could evaluate expressions, like I could with Pythonwin. But this may just be something I have not figured out how to do yet. I have not yet watched the screencast to see if I'm missing something obvious.<BR/><BR/>So I brought home the project directory that was working great on Windows, and tried to open up the project and run the same program on my Mac. No dice: again with the strange syntax errors. This code executes perfectly well on my Mac's command-line Python.<BR/><BR/>I still want to try WingIDE. Thanks to everyone who made suggestions.Paul R. Pottshttps://www.blogger.com/profile/04401509483200614806noreply@blogger.comtag:blogger.com,1999:blog-21500237.post-78171032857292206922008-04-01T18:28:00.000-04:002008-04-01T18:28:00.000-04:00Your complaint that "I have to restart... after ma...Your complaint that "I have to restart... after making a change and saving..." is, if I understand correctly, an issue with the Python interpreter, not with the IDE.<BR/><BR/>For efficiency, Python ignores "import" on a module that's already imported. To override this, you have to "reload(foobar)" instead of "import foobar".GeorgeKangashttps://www.blogger.com/profile/12262947932731814402noreply@blogger.comtag:blogger.com,1999:blog-21500237.post-37738386789491170432008-04-01T15:14:00.000-04:002008-04-01T15:14:00.000-04:00This web-based IDE might be an approach if you don...This web-based IDE might be an approach if you don't mind IronPython...<BR/><BR/><A>http://www.codeplex.com/gsb</A>Mitch Barnetthttps://www.blogger.com/profile/14104207350558744294noreply@blogger.comtag:blogger.com,1999:blog-21500237.post-74602107346033686932008-04-01T14:03:00.000-04:002008-04-01T14:03:00.000-04:00Several times I have taken a run-up at learning em...Several times I have taken a run-up at learning emacs, specifically because it comes so highly recommended as an environment for Lisp programming. Each time, I found myself really, really disliking it and got nowhere fast. Maybe one day I will try again, but for now I'm not interested. TextMate is also on my list of programs to try.Paul R. Pottshttps://www.blogger.com/profile/04401509483200614806noreply@blogger.comtag:blogger.com,1999:blog-21500237.post-50274352172827881952008-04-01T13:47:00.000-04:002008-04-01T13:47:00.000-04:00I'll add another +1 for WingIDE. I've been using i...I'll add another +1 for WingIDE. I've been using it for over a year now, and have to say it is <I>excellent</I>. It's code completion is great, and it's debugger is a joy to use. It even support multi-threaded debugging.<BR/><BR/>Give it a try, I think you'll like it. I tried SPE, Komodo, PyDev, and Eric, and WingIDE was certainly the best out of all of them. Oh, and it does work on Mac.Pedahzurhttps://www.blogger.com/profile/08531020477517782226noreply@blogger.comtag:blogger.com,1999:blog-21500237.post-16117293097002951552008-04-01T13:43:00.000-04:002008-04-01T13:43:00.000-04:00How about you just use emacs? Or, since you're on ...How about you just use emacs? Or, since you're on a mac, Textmate?Unknownhttps://www.blogger.com/profile/00030952496896818989noreply@blogger.comtag:blogger.com,1999:blog-21500237.post-12538696231990135442008-04-01T13:42:00.000-04:002008-04-01T13:42:00.000-04:00I spoke to soon; after just a few minutes of use, ...I spoke to soon; after just a few minutes of use, Komodo on Windows crashed with "Microsoft visual C++ Runtime Library" crashes, "R6025 - pure virtual function call." Then the whole system took one of those long, painful pratfalls where you can't bring up the Task Manager, most of the GUI is dead, shutdown can't kill anything, and you finally get so fed up you do a hardware reset. Ugly!Paul R. Pottshttps://www.blogger.com/profile/04401509483200614806noreply@blogger.comtag:blogger.com,1999:blog-21500237.post-11872815780590840952008-04-01T12:47:00.000-04:002008-04-01T12:47:00.000-04:00Hmmm, the Windows version of the Komodo IDE works ...Hmmm, the Windows version of the Komodo IDE works fine on the identical files. I'll mess with the Mac version more later and see if I can figure this out.Paul R. Pottshttps://www.blogger.com/profile/04401509483200614806noreply@blogger.comtag:blogger.com,1999:blog-21500237.post-28512448067548784742008-04-01T10:11:00.000-04:002008-04-01T10:11:00.000-04:00Komodo looks very impressive, but right off the ba...Komodo looks very impressive, but right off the bat, it doesn't want to handle the DOS/Windows line endings in my source files, and seems to be throwing up all kinds of syntax errors. It is probably some simple setting, but it is trying my patience already before it can even _parse_ the Python source files that have worked perfectly well with every other IDE I've tried, and with the command-line Python. Cross-platform line endings just should not be an issue in 2008. Will the Windows version give me similar problems if I move the files to UNIX line endings? Grrr...Paul R. Pottshttps://www.blogger.com/profile/04401509483200614806noreply@blogger.comtag:blogger.com,1999:blog-21500237.post-11846465347982162732008-04-01T10:01:00.000-04:002008-04-01T10:01:00.000-04:00Since it was only mentioned once, another vote for...Since it was only mentioned once, another vote for PyScripter.<BR/><BR/>Because: Free; clean modern look and feel; everything works; help up to date; responsive developer; full IDE feature set without being overwhelming and cluttered; small footprint.<BR/><BR/>Windows only, though.<BR/><BR/>I tried them all, and re-try them occasionally, and come back to PyScripter.<BR/><BR/>Installation:<BR/>First go to the Official <A HREF="http://mmm-experts.com/Products.aspx?ProductId=4" REL="nofollow">PyScripter IDE</A> home at MMM-Experts and get the installer.<BR/><BR/><BR/>Then get the latest .exe and help <A HREF="http://code.google.com/p/pyscripter/downloads/list" REL="nofollow"><BR/>update</A> at Google Code.<BR/><BR/>Discuss, get help <A HREF="http://groups.google.com/group/PyScripter" REL="nofollow">here</A>.Unknownhttps://www.blogger.com/profile/03270841276697070600noreply@blogger.comtag:blogger.com,1999:blog-21500237.post-39057045239444907432008-04-01T10:00:00.000-04:002008-04-01T10:00:00.000-04:00Time to ditch the whole IDE thing?Time to ditch the whole IDE thing?Maxhttps://www.blogger.com/profile/10128548902346094251noreply@blogger.comtag:blogger.com,1999:blog-21500237.post-62409080199814339862008-04-01T09:55:00.000-04:002008-04-01T09:55:00.000-04:00Pype is looks nice (wx) and has all the features y...Pype is looks nice (wx) and has all the features you want.<BR/><BR/>http://pype.sourceforge.net/index.shtml<BR/><BR/>Being written in pure python makes it a little sluggish on a P3, but I think I'm the only person who cares about such things.Unknownhttps://www.blogger.com/profile/11436505835858210363noreply@blogger.comtag:blogger.com,1999:blog-21500237.post-73796829766428944812008-04-01T09:53:00.000-04:002008-04-01T09:53:00.000-04:00Pype is faily nice, if a little sluggish on sub-gi...Pype is faily nice, if a little sluggish on sub-gigahertz processors. It is written entirely in Python.<BR/><BR/>http://pype.sourceforge.net/index.shtmlUnknownhttps://www.blogger.com/profile/11436505835858210363noreply@blogger.comtag:blogger.com,1999:blog-21500237.post-38288562072106005102008-04-01T09:36:00.001-04:002008-04-01T09:36:00.001-04:00I'm surprised no-one has mentioned Erin IDE. It's ...I'm surprised no-one has mentioned Erin IDE. It's PyQt based so it uses native widgets on mac (no drawing or look and feel issues) and it's fairly mature. For windows, you can get a whole package including everything you need from the <A HREF="http://www.riverbankcomputing.co.uk/pyqt/download.php" REL="nofollow">pyqt folks</A>.<BR/><BR/>On mac you may have to build the dependencies manually: Sip->PyQt-><A HREF="http://www.die-offenbachs.de/eric/index.html" REL="nofollow">Eric IDE</A>Gabehttps://www.blogger.com/profile/15732247022859538494noreply@blogger.comtag:blogger.com,1999:blog-21500237.post-87902902325181497692008-04-01T09:36:00.000-04:002008-04-01T09:36:00.000-04:00I'm downloading a 21-day trial of Komodo... if it ...I'm downloading a 21-day trial of Komodo... if it is really good, then it is worth the $295 price. If not -- well... I like the fact that it claims to also work with Ruby and others. We'll see how it goes. Wing IDE is much less expensive, so I'll try that too.<BR/><BR/>My "surprise" is not so much that the free tools are a little primitive, but at the lack of debugging support. For the most part they seem to have thrown all their efforts into the editors. Editors are nice but for debugging, it seems to me that breakpoints and some kind of ability to inspect variables is worth far more than customizable key bindings...Paul R. Pottshttps://www.blogger.com/profile/04401509483200614806noreply@blogger.comtag:blogger.com,1999:blog-21500237.post-16163709389197766602008-04-01T09:14:00.000-04:002008-04-01T09:14:00.000-04:00Thanks to everyone for the suggestions! I will be ...Thanks to everyone for the suggestions! I will be looking into some of these.<BR/><BR/>I'm not opposed to paying for a good tool if necessary. Visual Studio does not seem to be an option on a PowerPC Macintosh. Eclipse might be problematic on my Windows box as I'm already working with a customized Eclipse as part of the QNX toolchain. The comments about speed don't make me too eager to put it on a Mac Mini G4 or iMac G5, even though both have 2 GiB+ of RAM. I will try out some of the other options first.Paul R. Pottshttps://www.blogger.com/profile/04401509483200614806noreply@blogger.comtag:blogger.com,1999:blog-21500237.post-9035427400031574512008-04-01T09:09:00.000-04:002008-04-01T09:09:00.000-04:00I'm also curious of your experiences with WingIDE....I'm also curious of your experiences with WingIDE...Nederhoedhttps://www.blogger.com/profile/07367966058886703556noreply@blogger.comtag:blogger.com,1999:blog-21500237.post-73420708279186872192008-04-01T08:51:00.000-04:002008-04-01T08:51:00.000-04:00Well yeah, you tried the weird ones. Try Wing IDE ...Well yeah, you tried the weird ones. Try Wing IDE and Eclipse (with py-dev).Danhttps://www.blogger.com/profile/10687889638846463666noreply@blogger.com