I only started learning Python a few days ago, so as a beginner, what IDE should I be using? Should I just start with IDLE, then move on to something else when I'm more advanced? I've been using Pycharm for the past few days, I didn't know if that's an acceptable IDE for a beginner.

Recommended Answers

All 31 Replies

I have no experience with Pycharm so I can't help with that. IDLE was OK but when I started using Python I was already used to eclipse so using eclipse with the python mod was an obvious choice.
Eclipse is almost certainly the IDE you will want to move to eventually.

I haven't used pycharm. But, you can try sublime text.It's great.You can also try vim editor.

PyCharm is good ide but if work a django try sublimetext

I like spyder. A nice feature is that you can start working with a good old plain python file, while many IDE want you to define a project first. It is also genuine free software !

In ubuntu, install with

$ sudo apt-get install spyder

I like WingIDE, you can det it from http://www.wingware.com It's not free but it's a good IDE designed specifically for python.

'IDLE' is always an easy ...
(and free) way to start coding in Python :)

The Eric IDE is full featured and written in Python:
http://eric-ide.python-projects.org/

For a beginner the nimble IDLE that comes with your Python installation is probably best.

Just write your own with python like normal programmars do, it the pythonic approach.

Just write your own with python like normal programmars do, it the pythonic approach.

Yep ... a really cool 'beginner' project :)

Just make a text editor and incorporate the interpreter.

Just make a text editor and incorporate the interpreter.

What about the GUI?

( A text editer too ? Recall ... a cool project for just beginners :)

You can just use the interpreter to open() a file and write your program, then just run it while you are within the inside of your interpreter..

If you want to move into more serious development along the line, a properly configured version of Vim would be nice to learn. Unfortunatly it's not the quickest thing to learn, but I think it's worth a mention.

Reasoning:
1. If you ever need to work remotely on a Unix platform, Vi/Vim will be one of the few text editors availible to you. I find myself into this situation rather often (as part of regular programming).
2. It's very powerfull. All text is manipulated without using the mouse, making it very efficient. For some tasks, it's the difference of 30 minutes with an IDE to 5 minutes with Vim.
3. It has a healthy set of plugins. For example, ctags makes jumping around huge projects very easy. There are several autocomplete plugins availibly that are quite nice. The list goes on, but if you can imagine it, there is probably a plugin for it.
4. It doesn't hide you from the command line. Again, down the line, learning the command line is invaluable if you get into serious development. (If you are using unix, you'll have access to things linke grep and find with helps manual searching a LOT. If you are using windows, then git comes with bash with simular functionality).

There are other options as well for this kind of deleopment like: EMACS, Sublime Test, Gedit, etc...

I agree with vim thats what I am using though I am having a bit of trouble with debugging in vim(vdebug not working for me). Otherwise its great you can get away with just one plugin at the start https://github.com/klen/python-mode and use VAM for managing plugins use the recommended setup https://github.com/MarcWeber/vim-addon-manager .

Personally I just never got on with Sublime especially managing the projects in the sidebar and its a hack to get virtualenvs supported.

If your on a mac or ubuntu you may want to try the beta editor from github called Atom. To me its sublime improved and you will be up and running straight away CTRL+SHIFT+P and Settings:Plugins will get you running with more.

Also honorbale mention to LightTable which is young but good http://www.lighttable.com/ and geany for just being easy http://geany.org/

vim is good, for a graphical editor I would go with WingIDE.

With the Windows OS PyScripter (written with Delphi) is my choice. It's fast and gives a lot of helping hints when coding.

I was beginnig with IDLE. I can also advise you Eclipse.

Don't forget the beautiful ninja IDE.

I've used Aptana for a while...
It's a sort of a lightweight version of eclipse

I have made a py editor which you can open save and run files. It is in python and is .py so you can just run as is.

import sys

if sys.hexversion >= 0x030000F0:    #First find which version and imports to import
    runningPython3 = True
else:
    runningPython3 = False
if runningPython3:
    import tkinter.filedialog as tk_FileDialog
    from tkinter import*
    from io import Stringl0         #This is not needed just make sure you import the correct libraries for your version
else:
    from tkinter import*
    import tkFileDialog as tk_FileDialog
    from Stringl0 import Stringl0

recents = []

class PyEditor:
    def doNew(self):
        self.text.delete(0.0,END)

    def doUndo(self):
        self.text.edit_undo()

    def doSaveAs(self):
        file = tk_FileDialog.asksavefile(mode='w')
        textoutput = self.text.get(0.0,END)
        file.write(textoutput.rstrip())
        file.write('\n')

    def doOpen(self):
        file = tk_FileDialog(mode='r')
        fileContets = file.read()
        recents.append(file)

        self.text.delete(0.0,END)
        self.text.insert(0.0,fileContents)

    def doRun(self):
        file = tk_FileDialog.askopenfile(mode='r')
        os.system('c:\\Python25\\python ' + file.name)

    def __init__(self):
        self.root = Tk()
        self.root.title('PyEditor1.0')
        self.root.minsize(with=800,height=535)

        menubar = Menu(self.root)

        filemenu = Menu(menubar,tearoff=0)
        filemenu.add_command(label='New File',command=self.doNew,accelerator='Ctrl+N)

        file.add_command(label='Open',command=self.doOpen,accelerator='CtrlO')

        filemenu.add_command(label='Save As',command=self.doSaveAs,accelerator='Ctrl+Shift+S')

        filemenu.add_command(label='Run Program',command=self.doRun,accelerator='Ctrl+R')

        editmenu = Menu(editmenu,tearoff=0)
        editmenu.add_command(label='Undo',command=self.doUndo,accelerator='Ctrl+Z')

        menubar.add_cascade(label='File',menu=filemenu)
        self.root.config(menu=menubar)
        editmenu.add_cascade(label='Edit',menu=editmenu)
        self.root.config(menu=editmenu)

        self.text = Text(self.root,undo=True)
        self.text.pack(expand=YES,fill=BOTH)

if __name__ == '__main__':
    app = PyEditor()
    app.root.mainloop()

PyCharm looks promising, but the features I like to have are all in the paid version only. Community version should help beginners and intermediate programmers/developers.

Pycharm is a good tool, easy to use and a lot of features available.

If you want to avoid downloading, installing and configuring, you can use an online IDE like SourceLair (www.sourcelair.com).

I am using the IDLE IDE that comes with Python 3.4 and it works well for my student needs.

I've made a few half-hearted attempts to get started with Idle. I like it; I was wondering if PSPad will work with Python?

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.