You are not logged in.

#1 2008-07-28 12:02:12

lman
Member
From: CZ
Registered: 2007-12-18
Posts: 255

Python IDE for bigger projects

I'm starting a bigger (like emesene big) project with gui (wxpython),  and I'm searching for a good python IDE.
For now there are 3 candidates:
Pydev
SPE
(g)vim with plugins (taglist, NERDTree, project, autocompletion, python plugins etc.)

Until now I've made only smaller python modules/scripts, nothing big and I didn't need an IDE for that.
So if you have worked with these on bigger projects, could you please share your experiences with them?

Last edited by lman (2008-07-28 12:02:36)

Offline

#2 2008-07-28 12:15:17

iphitus
Forum Fellow
From: Melbourne, Australia
Registered: 2004-10-09
Posts: 4,927

Re: Python IDE for bigger projects

gvim's pretty sweet.

IDE's are overrated. There's absolutely nothing wrong with a group of separate tools that all do their job well.

But hey, there's also Pida:
http://pida.co.uk/

Havn't used it for a while, though I really liked the first few versions. I know it's changed a lot since.

Offline

#3 2008-07-28 12:21:37

lman
Member
From: CZ
Registered: 2007-12-18
Posts: 255

Re: Python IDE for bigger projects

ok, pida added as candidate smile, I'm going to try it now.

Offline

#4 2008-07-28 13:08:55

XFire
Member
From: UK
Registered: 2008-05-11
Posts: 192

Re: Python IDE for bigger projects

Geany is good, and it works with a lot of other languages too.


There is a difference between bleeding [edge] and haemorrhaging. - Allan

Offline

#5 2008-07-28 13:26:23

lman
Member
From: CZ
Registered: 2007-12-18
Posts: 255

Re: Python IDE for bigger projects

yeah, but geany doesn't support auto-completion for python sad

Offline

#6 2008-07-28 13:29:03

wonder
Developer
From: Bucharest, Romania
Registered: 2006-07-05
Posts: 5,941
Website

Re: Python IDE for bigger projects

eclipse + pydev


Give what you have. To someone, it may be better than you dare to think.

Offline

#7 2008-07-28 13:59:10

Diaz
Member
From: Portugal
Registered: 2008-04-16
Posts: 366

Re: Python IDE for bigger projects

i'm keeping an eye on a new project: nbpython -> https://nbpython.dev.java.net/

Offline

#8 2008-07-28 20:14:24

Kadrus
Member
From: Lebanon
Registered: 2008-04-27
Posts: 4

Re: Python IDE for bigger projects

SPE is good,I suggest giving it a shot.

Offline

#9 2008-07-28 20:37:28

Dusty
Schwag Merchant
From: Medicine Hat, Alberta, Canada
Registered: 2004-01-18
Posts: 5,986
Website

Re: Python IDE for bigger projects

I'm with iphitus. GVIM + 2 or 3 terminals does everything I need.

Offline

#10 2008-07-28 20:38:38

even
Member
From: Salvador, Bahia - Brazil
Registered: 2007-11-10
Posts: 29
Website

Re: Python IDE for bigger projects

I try most of the Python IDE's and i'm sure the best of all is Wingware Professional. But, that is pay, but you can make a propose for one license, if you make some opensource and good projects.

Offline

#11 2008-07-28 21:08:48

N30N
Member
Registered: 2007-04-08
Posts: 273

Re: Python IDE for bigger projects

While I haven't worked on any particularly large python products yet myself, I'd have no hesitation jumping in and using vim. The other day I came across this nice little article of vim tips for working with python, some of witch you may find helpful.

Offline

#12 2008-07-28 21:24:13

catwell
Member
From: Bretagne, France
Registered: 2008-02-20
Posts: 207
Website

Re: Python IDE for bigger projects

IDEs are evil. Go for gvim.

Offline

#13 2008-07-28 22:34:54

lman
Member
From: CZ
Registered: 2007-12-18
Posts: 255

Re: Python IDE for bigger projects

Thank you very much everyone for the suggestions. I think I'm going to stick with gvim for now.

I really liked pida, but after that article, what N30N suggested (by the way it was really helpful) and several vim plugins it's almost the same as gvim, and pida is using vim anyway, so what's the point?

I tried spe only for a bit. It's only my opinion, but it seems there is too much in it. Plenty of buttons and you don't even know what to do with them (for the first time of course), and you have to use the mouse to reach them. And what really annoyed me, that I couldn't find where can I edit the shortcuts.

I used eclipse before. It was really helpful, when I was learning programming, and still is, but I think it's time to move on. And I won't miss the extra RAM it used big_smile

catwell wrote:

IDEs are evil.

Not all of them. The only IDE I hated until now was NetBeans. (We had make a dama game in java with a server and client side, and you had to login into the server to play with others. There were four of us. Everyone was using eclipse, only one NetBeans, and he had the gui part. It took him 10 minutes to do it, and then he gave us the code, that he was ready. After that it took us 2 days to integrate it with the other parts of the program. The code it generated was awful. I don't wan't to see NetBeans after that again.)

Last edited by lman (2008-07-28 22:36:21)

Offline

#14 2008-07-28 22:52:54

freakcode
Member
From: São Paulo - Brazil
Registered: 2007-11-03
Posts: 410
Website

Re: Python IDE for bigger projects

Seriously... I've been working with projects with some KLOC for now, mostly web applications. If you take the time to learn and customize (g)Vim a bit, you can make your very own working environment, and it will work better and faster than any IDE you might find around.

Offline

#15 2008-07-29 17:25:18

phrakture
Arch Overlord
From: behind you
Registered: 2003-10-29
Posts: 7,879
Website

Re: Python IDE for bigger projects

Dusty wrote:

I'm with iphitus. GVIM + 2 or 3 terminals does everything I need.

I think the disconnect here is that people are thinking "use gvim for everything". That's not what's being suggested here. A typical *nix environment provides you with hundreds of tools that IDEs tend to have, but are far more powerful. gvim shouldn't be your IDE - the shell should.

Need to find some text? grep
Need to find and replace across multiple files? sed
Enable code completion? ctags
Edit text? (g)vim
Count LOC? wc
Rename files? Change your hierarchy? Compile an individual file? etc etc etc

You can do it all from the shell.

Offline

#16 2008-07-29 18:58:46

ProtoXyne
Guest

Re: Python IDE for bigger projects

phrakture wrote:

I think the disconnect here is that people are thinking "use gvim for everything". That's not what's being suggested here. A typical *nix environment provides you with hundreds of tools that IDEs tend to have, but are far more powerful. gvim shouldn't be your IDE - the shell should.

Need to find some text? grep
Need to find and replace across multiple files? sed
Enable code completion? ctags
Edit text? (g)vim
Count LOC? wc
Rename files? Change your hierarchy? Compile an individual file? etc etc etc

You can do it all from the shell.

Do you even have a mouse? tongue

There's nothing wrong with the Spartan approach that you seem to take to working on the computer, but for many people the benefits offered by IDEs, GUI apps, etc just make things easier. Having everything at the tip of your mouse cursor without having to dive into man pages or remember obscure syntax is generally a convenience for most. I also think most die-hards forget that it took them time to learn when they now know by heart (that's a general Linux-user phenomenon... "but why don't you just <obfuscated actions>, it's sooooo easy!").

Not everyone is a command-line commando.

#17 2008-07-29 19:21:09

freakcode
Member
From: São Paulo - Brazil
Registered: 2007-11-03
Posts: 410
Website

Re: Python IDE for bigger projects

Xeno the Blind wrote:
phrakture wrote:

I think the disconnect here is that people are thinking "use gvim for everything". That's not what's being suggested here. A typical *nix environment provides you with hundreds of tools that IDEs tend to have, but are far more powerful. gvim shouldn't be your IDE - the shell should.

Need to find some text? grep
Need to find and replace across multiple files? sed
Enable code completion? ctags
Edit text? (g)vim
Count LOC? wc
Rename files? Change your hierarchy? Compile an individual file? etc etc etc

You can do it all from the shell.

Do you even have a mouse? tongue

There's nothing wrong with the Spartan approach that you seem to take to working on the computer, but for many people the benefits offered by IDEs, GUI apps, etc just make things easier. Having everything at the tip of your mouse cursor without having to dive into man pages or remember obscure syntax is generally a convenience for most. I also think most die-hards forget that it took them time to learn when they now know by heart (that's a general Linux-user phenomenon... "but why don't you just <obfuscated actions>, it's sooooo easy!").

Not everyone is a command-line commando.

I for one prefer to hit :someword<Tab> on Vim than find my way around bazillion Menus and Dialogs wink

Also, when its *you* who created the keyboard shortcut or alias to a command, you need to learn nothing, it's your own convention, so that's the easy part.

But of course, there might be cases where having an IDE is handy. I couldn't see myself working with Java without a good IDE, for example.

Last edited by freakcode (2008-07-29 19:22:52)

Offline

#18 2008-07-29 20:39:30

phrakture
Arch Overlord
From: behind you
Registered: 2003-10-29
Posts: 7,879
Website

Re: Python IDE for bigger projects

Xeno the Blind wrote:

Having everything at the tip of your mouse cursor without having to dive into man pages or remember obscure syntax is generally a convenience for most. I also think most die-hards forget that it took them time to learn when they now know by heart (that's a general Linux-user phenomenon... "but why don't you just <obfuscated actions>, it's sooooo easy!").

Not everyone is a command-line commando.

This statement is a little contradictory. You're saying "it takes time to learn" but at the same time "I don't want to learn, hide it from me" ("...without having to dive into man pages or remember..."). Not everyone knows how to bang out sed expressions, sure, but learning is something we all can and should do. Learning isn't hard.

I recommended this approach for a few reasons:
a) This is ArchLinux. If you're here, then you'll probably like some part of this approach.
b) It was suggested like 5 times above.
c) In combination of (a) and (b), it's pretty much the response you're going to get from the Archers I'd trust to respond.

I came from the land of IDEs myself. I was a huge proponent of Visual Studio when I began using Linux, and really wished I had an IDE. IDEs are the future! It does everything all in one giant package!
Sure enough, I realized how wrong I was. An IDE made for Java is going to suck hard for Ruby. A text editor made to do compex syntax highlighting is going to have abysmal find/replace. A code browser made for a certain paradigm may not agree with YOUR way of writing code. Etc etc etc.

The Art of Unix Programming wrote:

Rule of Modularity: Write simple parts connected by clean interfaces.
    Rule of Clarity: Clarity is better than cleverness.
    Rule of Composition: Design programs to be connected with other programs.
    Rule of Separation: Separate policy from mechanism; separate interfaces from engines.
    Rule of Simplicity: Design for simplicity; add complexity only where you must.
    Rule of Parsimony: Write a big program only when it is clear by demonstration that nothing else will do.
    Rule of Transparency: Design for visibility to make inspection and debugging easier.
    Rule of Robustness: Robustness is the child of transparency and simplicity.
    Rule of Representation: Fold knowledge into data, so program logic can be stupid and robust.
    Rule of Least Surprise: In interface design, always do the least surprising thing.
    Rule of Silence: When a program has nothing surprising to say, it should say nothing.
    Rule of Repair: Repair what you can — but when you must fail, fail noisily and as soon as possible.
    Rule of Economy: Programmer time is expensive; conserve it in preference to machine time.
    Rule of Generation: Avoid hand-hacking; write programs to write programs when you can.
    Rule of Optimization: Prototype before polishing. Get it working before you optimize it.
    Rule of Diversity: Distrust all claims for one true way.
    Rule of Extensibility: Design for the future, because it will be here sooner than you think.

Offline

#19 2008-07-30 01:42:19

ProtoXyne
Guest

Re: Python IDE for bigger projects

phrakture wrote:

This statement is a little contradictory. You're saying "it takes time to learn" but at the same time "I don't want to learn, hide it from me" ("...without having to dive into man pages or remember..."). Not everyone knows how to bang out sed expressions, sure, but learning is something we all can and should do. Learning isn't hard.

No, that's not what I'm saying. First off, for the record, I'm quite happy dealing with documentation and man pages as long as they're reasonably well-written, even though I've only been using Linux for about a month. My previous statement was not "zomg wtf are joooo usign teh commmand linezzz", only that for some people it's more intuitive. 5 year olds in China speak Chinese (Mandarin of you want to get picky), it's obviously not that difficult to learn, but if I have to read a book right now, I think I'll stick to one of the languages that I already know. No, the command line isn't as daunting as most people seem to think (I use it most of the time myself, so again, this isn't about my preferences). Yes, in general people should be more willing to learn. Does that mean that every time anyone wants to do anything, they should need to learn new skills? I think not.

phrakture wrote:

I recommended this approach for a few reasons:
a) This is ArchLinux. If you're here, then you'll probably like some part of this approach.
b) It was suggested like 5 times above.
c) In combination of (a) and (b), it's pretty much the response you're going to get from the Archers I'd trust to respond.

I actually deleted the "and please don't say 'if you're using Arch, you shouldn't need an IDE'" line from my response. I personally respect the no-nonsense, minimalist approach and have been applying it more and more myself lately (I'm a one month old Linux noob who's been using Arch since day 5, that should tell you something). Nevertheless, I think it's absolutely pretentious to expect that everyone who uses Arch should subscribe to the same philosophy in every detail. I know that you're the Arch Overlord and as I'm new, what I think etc. probably means a load of fuck-all here, but to me Arch provides an elegant and simple base that let's ME decide what and how I use it, not something that preaches minimalistic dogma and looks down on anyone who doesn't follow it. That's how it comes off a bit though, which is unfortunate.

phrakture wrote:

I came from the land of IDEs myself. I was a huge proponent of Visual Studio when I began using Linux, and really wished I had an IDE. IDEs are the future! It does everything all in one giant package!
Sure enough, I realized how wrong I was. An IDE made for Java is going to suck hard for Ruby. A text editor made to do compex syntax highlighting is going to have abysmal find/replace. A code browser made for a certain paradigm may not agree with YOUR way of writing code. Etc etc etc.

"For me, x is y, therefore for everyone x must be y" is a flawed argument. IDEs obviously work for some people, otherwise nobody would ever have written them and nobody would ever use them. In this thread, the OP was asking about IDEs specifically for Python, so the latter part of your response about IDEs for x used for y doesn't apply (that said,  I do agree with you in those cases). He's looking into different IDEs, presumably to find one that does agree with HIS way of writing code. If he finds one, what's wrong with that?

The Art of Unix Programming wrote:

Rule of Modularity: Write simple parts connected by clean interfaces.
    Rule of Clarity: Clarity is better than cleverness.
    Rule of Composition: Design programs to be connected with other programs.
    Rule of Separation: Separate policy from mechanism; separate interfaces from engines.
    Rule of Simplicity: Design for simplicity; add complexity only where you must.
    Rule of Parsimony: Write a big program only when it is clear by demonstration that nothing else will do.
    Rule of Transparency: Design for visibility to make inspection and debugging easier.
    Rule of Robustness: Robustness is the child of transparency and simplicity.
    Rule of Representation: Fold knowledge into data, so program logic can be stupid and robust.
    Rule of Least Surprise: In interface design, always do the least surprising thing.
    Rule of Silence: When a program has nothing surprising to say, it should say nothing.
    Rule of Repair: Repair what you can — but when you must fail, fail noisily and as soon as possible.
    Rule of Economy: Programmer time is expensive; conserve it in preference to machine time.
    Rule of Generation: Avoid hand-hacking; write programs to write programs when you can.
    Rule of Optimization: Prototype before polishing. Get it working before you optimize it.
    Rule of Diversity: Distrust all claims for one true way.
    Rule of Extensibility: Design for the future, because it will be here sooner than you think.

A list of commandments or general guidelines that may be bent or broken when it makes sense to those involved?



I also want to reiterate that my reply wasn't an attack on you or your method (the mouse remark was meant very lightly). I just think that you could show some level of understanding for those who choose to do things differently rather than take the "that's stupid, do it this way, that's how Archers do it" approach. I'm playing Devil's Advocate here.



Sorry that we're off to such a bad start. I really like Arch and its philosophy and I hope to be a part of this community because I can't see myself using any other distro... annoying the anointed Arch Overlord is not exactly my intention.


/threadjacking

#20 2008-07-30 09:22:26

lman
Member
From: CZ
Registered: 2007-12-18
Posts: 255

Re: Python IDE for bigger projects

Xeno the Blind wrote:

/threadjacking

Actually not much of a threadjacking. I was asking for experience/opinion, not just which choice people prefer. The topic title is a little bit misleading. I wasn't just looking for a program, which would guide me to the heavens, rather a way to make my life easier. I mentioned those three programs only because they seemed to be the most used options. And I really hoped sthing like this will come out of it eventually (I mean your discussion).
And by the way, I don't think gvim alone qualifies as an IDE, you could just make it behave like it was one.

I used IDE-s before, and I can't imagine myself programming in java without eclipse or sthing similar. But for C coding I couldn't stand any IDE. I just used geany/vim with a terminal. So I was curious how is it with python.

out of topic:
Xeno, for a one month old linux user, who is already using arch and making contributions, I don't think it's a bad start wink. And everyone should have his own opinion, not just following the mass. That and healthy discussions are causing the progress in the world. In other way everyone would use windows and be dumb.

Offline

#21 2008-07-30 10:41:31

Barrucadu
Member
From: York, England
Registered: 2008-03-30
Posts: 1,158
Website

Re: Python IDE for bigger projects

Emacs is the only program you need - I'm using it to edit the multiple files of my Python IRC bot, run it in a shell, and talk to it using ERC. lol

Last edited by Barrucadu (2008-07-30 10:41:50)

Offline

#22 2008-07-30 16:00:50

lman
Member
From: CZ
Registered: 2007-12-18
Posts: 255

Re: Python IDE for bigger projects

Barrucadu wrote:

Emacs is the only program you need

Allright, what's coming next? ed? big_smile

Offline

#23 2008-07-30 16:04:05

Barrucadu
Member
From: York, England
Registered: 2008-03-30
Posts: 1,158
Website

Re: Python IDE for bigger projects

I did add a ":lol:" to the end of my post tongue
Anyway, let's just leave those crazy ed users alone.

Offline

#24 2008-07-30 16:12:41

Husio
Member
From: Europe
Registered: 2005-12-04
Posts: 359
Website

Re: Python IDE for bigger projects

You want to write program? Use vim. If you want program to be written, use IDE. That's my opinion.

You can configure vim, and use it not only for Python programming. It's quite light, easy to use (;) ) and you can configure it in many ways. IDE is usually heavy java based stuff that's helping you to write with some nasty magic auto-completion-and-more.

Real hackers writes their own editors wink

Offline

#25 2008-07-30 17:14:20

phrakture
Arch Overlord
From: behind you
Registered: 2003-10-29
Posts: 7,879
Website

Re: Python IDE for bigger projects

Xeno the Blind wrote:

Sorry that we're off to such a bad start. I really like Arch and its philosophy and I hope to be a part of this community because I can't see myself using any other distro... annoying the anointed Arch Overlord is not exactly my intention.

Hah. I forget that I don't have a huge forum presence these days anymore, so people may not get my... style? moods? I dunno.

As you can see from the left hand side there, I have the highest post count on these forums, by far. And 90% of that was before I was even an Arch developer, let alone the "Overlord".

I am cranky and opinionated, sure, but once I hit that "submit" button, I move on. So no, I'm not annoyed at all. I noticed the same logic in you that I used to have when I began using linux, so I wanted to post. That is all.

Cheers, and sorry for the double hijacking.

Offline

Board footer

Powered by FluxBB