Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

Python IDE's: What are your options?

Avatar for David David
October 28, 2013

Python IDE's: What are your options?

A talk for the Piedmont Triad User's Groups on IDE options for Python

Avatar for David

David

October 28, 2013
Tweet

More Decks by David

Other Decks in Programming

Transcript

  1. SCOPE Free (as in beer) Multiplatform (ideally Win/Mac/Linux/BSD) Python fully

    supported Python doesn't need to be primary language In fact, ideally should support more than Python OS X not covered in depth I haven't owned a Mac since '96 If you think I should, accepting donations (PayPal and credit cards)
  2. ADVANCED TEXT EDITORS GEANY/NOTEPAD++ (ALSO GEDIT, KATE, ETC) Light on

    resources Doesn't overwhelm the user Probably best option for beginners (no distractions from learning the language) Ideal for writing single scripts or small projects Similar/basic enough I can cover all at once
  3. FEATURES THE BASICS Source code highlighting Supports pretty much any

    language Feature expansion through scripting/plug-ins
  4. or yum, pacman, whatever SRSLY THOUGH NOTEPAD++ Download and install

    from http://notepad-plus-plus.org/ GEANY If not already installed a p t - g e t i n s t a l l g e a n y
  5. ECLIPSE + PYDEV PLUGIN Runs on Windows, Mac OS X,

    Linux (Java based) Python support through PyDev plugin Very extensible
  6. ECLIPSE FEATURES - HIGHLY EXTENSIBLE/CUSTOMIZABLE Java by default, supports other

    languages through plugins (like PyDev) Strong community, well supported Supports CVS by default, can support Git and multiple VCS systems through plugins Customizable UI Lots of plugins, pre-packaged versions available
  7. PYDEV FEATURES Supports Python, IronPython, and Jython interpreters Django &

    Google App Engine support Code completion, Reporting, Debugger List - http://pydev.org/manual_adv_features.html
  8. INSTALL FIRST INSTALL ECLIPSE 1. Install Java or Java SDK

    2. Download standard version - 3. Unpack the archive to location of choosing (ex: C:\Program Files) 4. Run eclipse binary 5. Choose a workspace location (place to keep your projects) http://www.eclipse.org/downloads/
  9. INSTALL ADD PYDEV 1. Install Python or IronPython 2. In

    Eclipse, Help -> Install New Software, Add repository - 3. Check PyDev, accept all licenses 4. Wait for Eclipse to install PyDev plugin and restart Eclipse 5. Window -> Open Perspective->Other, select PyDev Can make persective default in Preferences http://pydev.org/updates Not obvious, but not difficult
  10. CONS WHY IT MIGHT NOT BE FOR YOU Based on

    Java Resource intensive (needs 1-2GB of RAM to run smoothly) Very sluggish on older systems More features means higher learning curve or overwhelms Time spent learning IDE instead of language It's based on Eclipse* *Eclipse is not for everyone
  11. PYCHARM (CURRENT FAVORITE) Runs on Windows, Mac OS X, Linux

    (Java based) Based on IntelliJ, not Eclipse IDE out of the box for Python (plugin not required/included) Extensible
  12. PYCHARM FEATURES - HIGHLY EXTENSIBLE/CUSTOMIZABLE Supports other languages through IntelliJ

    plugins (like bash script plugin) Well supported, community plugins, commercial version available Wide VCS support out of the box, like Github API (and Gist), regular Git, Mercurial, Subversion Virtualenv support and remote interpreters
  13. PYCHARM COMMUNITY EDITION FEATURES Supports Python, IronPython, PyPy, CPython and

    Jython interpreters Code completion and analysis (PEP8) Reporting, Debugger vim keybindings (for those used to vim) Testing support List - http://www.jetbrains.com/pycharm/features/index.html
  14. PYCHARM CONS Django & Google App Engine support only in

    commercial version $99 Personal license $199 Company/Organization license
  15. VIM Runs on Linux, Mac OS X, and Windows (not

    that you would....would you?) Lightweight, small footprint Extensible Surprisingly powerful for text based
  16. VIM Several reasons can run in an ssh session customizations

    and preferences in a text file (.vimrc) Can be shared on github/dropbox You'll know how to use vim Default/only text editor on some servers Powerful IDE on less powerful systems (Raspberry Pi) Built-in Python interpreter (can write your own code to extend vim)
  17. VIM But wait, there's more! Everything else you'd expect out

    of a complete IDE, like: code completion syntax highlighting Go to definition Refactoring Debugging Multiple source files open in tabs
  18. VIM INSTALL Or maybe you do (depends) Package or default

    install might be enough Your vim package/install must have python support enabled. So how can you check if Python support is enabled?
  19. VIM INSTALL ~ $ v i m - - v

    e r s i o n V I M - V i I M p r o v e d 7 . 3 ( 2 0 1 0 A u g 1 5 , c o m p i l e d M a y 4 2 0 1 2 0 4 : 2 5 : 3 5 ) I n c l u d e d p a t c h e s : 1 - 4 2 9 b l a h b l a h b l a h b l a h + p y t h o n s y s t e m v i m r c f i l e : " $ V I M / v i m r c " u s e r v i m r c f i l e : " $ H O M E / . v i m r c " u s e r e x r c f i l e : " $ H O M E / . e x r c " b l a h b l a h b l a h Protip: You're looking for the +python
  20. VIM INSTALL Q: I don't have it, now what? A:

    Compile it with python support included
  21. VIM INSTALL Download source . / c o n f

    i g u r e - - e n a b l e - p y t h o n i n t e r p m a k e & & m a k e i n s t a l l Compiling vim, installing the python plugins, setting up and customizing vim is a talk within itself.
  22. VIM CONS High learning curve if new to vi Might

    have to compile from source (could be a Pro) Windows installation
  23. SUMMARY Advanced text editors (great for beginners) Eclipse + PyDev

    (robust extensible IDE, Django and Google App Engine integration) PyCharm (like Eclipse, but less awkward, included VCS support, commercial version) vim (powerful and lightweight, non-GUI)
  24. QUESTIONS SLIDES W/ LINKS FOUND AT: https://speakerdeck.com/surgeterrix FIND ME AT:

    http://digital-shokunin.net Twitter - @surgeterrix GitHub - http://github.com/surgeterrix