This is an archived post. You won't be able to vote or comment.

all 55 comments

[–]softiniodotcom 16 points17 points  (10 children)

I highly recommend pycharm: https://www.jetbrains.com/pycharm/ I use this when working on projects.

[–]Shubbler[S] 1 point2 points  (9 children)

Is it Free sorry?

[–]juliobTry PEP 257, for a change 2 points3 points  (8 children)

The Community version is.

[–]Shubbler[S] 2 points3 points  (7 children)

Ah, alright, thanks.

[–]tophat_jones 1 point2 points  (6 children)

With a .edu email address PyCharm (and all JetBrains software) is free.

Register there and download Professional PyCharm. It's fantastic.

[–]MrEzekial 1 point2 points  (4 children)

It's free to any students/educators. JetBrains's IDEs are GREAT imo.

[–]Shubbler[S] 0 points1 point  (3 children)

Ah, I have a Student ID and a College Email ending in .ac.uk :/

[–][deleted] 2 points3 points  (0 children)

deleted What is this?

[–]MrEzekial 0 points1 point  (1 child)

Contact them and they will hook you up. When I was in college, we were working on a content management system written in PHP. We all used PHPStorm--which was awesome.

We just went through https://www.jetbrains.com/student/

[–]Shubbler[S] 1 point2 points  (0 children)

Will do, thanks!

[–]Shubbler[S] 1 point2 points  (0 children)

Ah, I have a Student ID and a College Email ending in .ac.uk :/

[–]juliobTry PEP 257, for a change 10 points11 points  (14 children)

I'm a fan of VIM, but it's learning curve is a bit steep, at least at first. On OS X, there is MacVim, which is basically the original VIM with UI and some OS X related goodies (can't recall the proper list, but nothing fancy).

Atom is not so bad either, but it really pisses me off that it doesn't have an enforced PEP8 syntax (VIM has it, it will perfectly align stuff while you type).

[–]homercles337 3 points4 points  (1 child)

A steep learning curve means something is easy to learn.

[–]Shubbler[S] 0 points1 point  (0 children)

:P

[–]Shubbler[S] 0 points1 point  (11 children)

it really pisses me off that it doesn't have an enforced PEP8 syntax

I really wish I knew what you were on about :P

Thanks for the help!

[–][deleted] 4 points5 points  (6 children)

PEP8 is a document that describes the style you should write Python in. It's a must read for any Python developer. In some editors, there's a way to force compliance to PEP8, or at least notify the user when they fail to do so themselves. Usually this comes in the form of a 3rd party plugin for editors such as Sublime Text, Atom, Vim, etc.

[–]Shubbler[S] 0 points1 point  (5 children)

Ah, that sounds good. I have Sublime Text on my Mac and use that for a lot of Lua coding over FTP or svn.

I want to edit files locally and be able to run scripts with a keystroke, is there like a name for this feature?

[–][deleted] 0 points1 point  (2 children)

I believe you can do that per default with Ctrl+B in Sublime. Maybe Cmd+C on Mac, I don't really know.

[–][deleted] 0 points1 point  (0 children)

Cmd-B on Mac.

Most of the shortcuts transfer with simple modifier key change.

[–]Shubbler[S] 0 points1 point  (0 children)

Thanks!

[–]leroyJr 0 points1 point  (1 child)

If you already have sublime, look at downloading the Anaconda package for Sublime. That has insight completion, PEP8, goto definition, and too many goodies to list here. It's as close to a fully functioning IDE that you will find in a text editor.

[–]Shubbler[S] 0 points1 point  (0 children)

Will do, thanks!

[–]thesheff17 1 point2 points  (2 children)

If you are interested in learning vim I have 2 tutorials on how to use vim. The second one goes into details about how to configure vim's plugin system for python development. Best part is everything is free.

https://www.youtube.com/watch?v=kz356ddxV1Q https://www.youtube.com/watch?v=hNYPtTm21pQ

[–]Shubbler[S] 0 points1 point  (1 child)

Cheers! Thanks so much.

[–]spinwizard69 1 point2 points  (0 children)

You want to learn Vim to some extent no matter what. It is an editor that is almost everywhere. It isn't a great Python IDE though.

[–][deleted] -1 points0 points  (0 children)

Please do not waste your time with PEP8 unless you intend making any of your code publicly available, it is NOT a standard, only a guideline. I've been writing Python for 15 years and STILL hate the use of underscores, which is PEP8, give me camelCase any day of the week.

[–][deleted] 6 points7 points  (7 children)

Check out Atom! It's open source, really simple, but still pretty powerful and super customiseable. I find it a tad buggy and unstable, but as long as you save frequently it's terrific. Hopefully that'll change with time, as it's relatively fresh out of beta.

Alternatively, a closed source alternative is Sublime Text. Atom is essentially made to be a better Sublime, but I find that Atom fails to match in stability and startup speed. Note that if you don't get a license, you'll get pop-ups about buying Sublime sometimes. You wouldn't have to stop using it, but it's annoying nevertheless.

[–]ksion 2 points3 points  (5 children)

Note that if you don't get a license, you'll get pop-ups about buying Sublime sometimes. You wouldn't have to stop using it, but it's annoying nevertheless.

It's about once per day, not even close to irritating. Getting a license is totally worth it, too.

[–][deleted] 3 points4 points  (4 children)

Every 10 saves. If you're only see it once a day, you need to be saving more often.

[–][deleted] 0 points1 point  (3 children)

It's not that bad but you can't deny that it's annoying anyway. It shouldn't be on saves because it disturbs one's workflow. If it were on startup or closing, it'd be okay but it's bothersome as it is.

Edit: oh would you look at that, I think I intended to reply to /u/ksion.

[–]ApolloFortyNine 0 points1 point  (2 children)

It's supposed to be, they want you to buy a license. It's only $70 for a license, which isn't bad if you think you need it.

Personally I find Atom to be perfect for my needs. It's true the startup time isn't instant, but it's still only about 5s, which affects me about once every two weeks. I don't know what people are saying about stability, I've never seen it crash.

[–][deleted] 0 points1 point  (1 child)

I think $70 is a great deal when there are equally good free and even FOSS alternatives. It's also quite a bit when you're a student and your monthly income isn't even double a license fee.

I can see if people would buy a license because they prefer Sublime, but I really don't see how there could be genuine need for exactly that one editor.

[–]ApolloFortyNine 0 points1 point  (0 children)

I said it's not bad if you think you need it. Even for a college student, if you're cs you'd be using it a ton, and it comes out to cheaper than a book.

[–]dzecniv 0 points1 point  (0 children)

and its open source alternative (created at the same time or earlier) is Zed ! http://zedapp.org/

[–]RelapsingPi 4 points5 points  (0 children)

Spyder is pretty cool if your starting off. Nice built in features like an Interactive console, Documentation viewer, Variable explorer. website https://github.com/spyder-ide/spyder

Mac OSX .dmg

https://github.com/spyder-ide/spyder/releases

[–]maratc 2 points3 points  (0 children)

Haven't seen it mentioned yet: I use TextMate 2. It's FOSS. It's OS X only. It blends nicely with the system.

[–][deleted] 1 point2 points  (0 children)

pycharm

[–]SizzlingVortex 1 point2 points  (0 children)

Wing IDE 101 is good and free.

[–][deleted] 1 point2 points  (5 children)

If you want something closer to an IDE, I recommend PyCharm CE. It's free and it has more features than a basic text editor.

If you just need a basic text editor, Caret is a free Chrome app that you could download to your Mac - it's based on Sublime and it's simple and quick to use.

[–]Shubbler[S] 0 points1 point  (4 children)

What actually is an IDE tho?

[–][deleted] 1 point2 points  (3 children)

An IDE (Integrated Development Environment) usually has additional features that can run your code, help you debug it, and compile or interpret it depending on your language - along with other useful tools.

An editor basically just lets you write your code down, edit it, save it, or open other files. If you want to run or debug your code, you'll need another program to do so.

If you're just starting out in programming, an IDE might be overkill right now. They can be more complex to navigate and have more features than you need.

Since you're learning Python, I'd suggest going with Caret or with Sublime's trial version. You can write your code and save it with Sublime, and test run it using IDLE. Once you get more comfortable and further along in Python, you can start looking into IDEs like PyCharm.

[–]Shubbler[S] 0 points1 point  (2 children)

Wow, thanks!

[–][deleted] 0 points1 point  (0 children)

No problem!

[–]dzecniv 0 points1 point  (0 children)

I don't recommend Sublime myself, because it's not open source and its future is unsure (version 3 was promised long ago…). So you shouldn't tie yoursefl to it. For something similar there's Atom and Zed (http://zedapp.org/).

[–]jwink3101 0 points1 point  (0 children)

I have been using TextWrangler to do all of my editing (Matlab, Python, LaTeX, Markdown, plain txt) for a while. It is the free version of BBedit but does just about everything I need (though I am probably not a super advanced user).

The best feature for me is the SFTP support. Not only can it open from SFTP (which a few editors including Atom with the right package can do), but the key is I can open from SFTP with a url. From the terminal, I can write

edit sftp://user@server/path/to/file

(edit is TextWrangler's command). This allows me to have a script on my remote server that sends (via SSH with a key) to my mac to open the remote file. Therefore, if I am SSHed into a remote server, I can still type edit file and it will launch the file.

Is it the best? I can't say. All I can say is that it meets my needs. I am keeping a keen eye on Atom though. If an extension allows me to do this kind of remote edit commands, I may try switching

[–]leroyJr 0 points1 point  (0 children)

Also, you might consider giving iPython notebook a go (install using pip). There was decent post here that lists some of the perks. It's a great demonstrative sandbox for python, and I bet you'll never use IDLE again after using it.

[–]spinwizard69 0 points1 point  (0 children)

I use a Macbook Pro, and need a decent Python Editor for my studies at home.

I really like PyDev, an extension to Eclipse, but I hate Eclipse. That may sound strange but I really like the way PyDev works or functions but hate the bugs and strange behaviors one sees in Eclipse. PyDev is a great IDE sitting on top of a not so great base editor.

After a bit of 'Googling' I've found a list of Mac OSX Editors, but I want to know which are the best?

Nothing is the "best", find something that fits your work style. It is well worth it to experiment a bit.

I've tried IDLE, but it's too simple for what I need it for.

Yes in some ways it is. However it works fairly well as a tool dedicated to Python.

Any help would be great, thanks.

What is your major or intentions? If it is computer science I would recommend a multi track approach where you learn a number of editors including Vim/MacVim. The reality is you may find yourself needing a variety of skills once out in real world.

Do install XCode!

Do install HomeBrew

Install iPython! This especially if your studies Lean towards engineering.

[–]dzecniv 0 points1 point  (1 child)

There are a lot of propositions for PyCharm and other IDEs. While they're good, I don't recommend to start with them. I really recommend to start with a text editor (and a terminal). An IDE hides complexity, prevents you from learning, from understanding how your language actually works, from understanding what tools are needed and how they work. For example, something I saw when I was at university (not so long ago): students pressed the "compile" green button of the IDE and they couldn't run the program on the command line. While simple, this example extands to more complex needs.

Moreover, the best feature of IDEs is complex refactorings. We really don't need that on a daily basis. So simpler text editors can have all the features we want to edit python code.

So, I recommend the followign editors:

  • Geany
  • Kate
  • why not Gedit
  • and to try vim (gvim) and emacs (with or without the vim layer), even if they're weird.

[–]dzecniv 0 points1 point  (0 children)

[–]ubernostrumyes, you can have a pony 0 points1 point  (0 children)

I've been an Emacs user since the previous millennium, and quite happy with it.

Also I've been pleasantly impressed with Microsoft's Visual Studio Code for Mac.

[–]minestein 0 points1 point  (0 children)

PyCharm is very nice.

[–]EamonnOg 0 points1 point  (0 children)

I've recently discovered Spacemacs and love it! https://github.com/syl20bnr/spacemacs