While the Python community is very rich in online tutorials, there is no real place to look for all the great offline Python learning material. And I had trouble finding a good place on the web to download all the offline Python learning material.
So I have decided to create this one page website which lists all these learning material you can download. Feel free to visit their site.
PyDev
The popular open source IDE
PyDev is the Python IDE that runs in Eclipse, which is already a very popular open source IDE for various programming languages, and is well-supported with a wide range of plugins to help add features.
PyDev itself comes with a range of useful coding features, such as code auto-completion, debugging, coding templates and analysis, as well as a browser for testing code.
There’s also an integration option to work with the Django Python web framework, as well as offering support for Jython and IronPython development.
If there’s a downside, it’s that there’s so much coding support made available that some users might find it somewhat bloated. However, it remains one of if not the most popular of the open source Python IDE’s for exactly the same reason.
As it’s open source, it’s free to use, and easily provides enough features to support basic to intermediate programming. For more advanced programming, LiClipse is a paid-for tier that runs with Eclipse to offer more customized options.
eric
Powerful offering with support for real-time collaboration on code.
This powerful cross-platform IDE – which, like IDLE, is named after Eric Idle – is written in Python and uses the Qt library. Though Python is its focus, eric (lowercase is the intended spelling) has excellent support for Ruby, and other languages too. It supports the bread and butter tasks we’ve come to expect: code folding, code completion, brace matching.
But there’s so much more that you’ll need to use its built-in (and automated) TODO list generation to keep track. It has an integrated class browser and powerful debugger, and thanks to being built-in Qt supports building GUIs via Qt Designer. The initial configuration screen may seem daunting, but most of it can be put off till later.Advertisement
While the interface does look busy, there’s no reason you can’t use eric as a simple code (or even plaintext) editor. But it really comes into its own for more serious coding – there’s even a built-in hex editor, SQL browser and icon designer. It supports unit tests and can debug both multithreaded and multiprocessing programs, which as anyone who dabbles in such things will testify, generate the worst kind of bugs.
It supports Mercurial and SVN version control natively, and Git support is available through a plugin. Like Code, there’s support for real-time collaboration on code. In short, if you want a feature-rich Python powerhouse, eric is for you.
Atom (CE)
Atom is a more out-of-the-box ready open-source CE that strikes a balance between Sublime’s performance/customization and a short setup time. Atom has a sleek look and is powered by Electron front-end framework, a tool for building desktop apps using JS, CSS, and HTML.
Atom has built-in support for beloved features like automatic code completion and find/replace. It is made by Github and can be easily integrated with Github and Git using built-in tools.
Atom features user plugins but allows you to quickly pick and integrate them hassle-free via Atom’s free package marketplace. This marketplace lets you browse the most popular plugins to expand or fine-tune Atom to your needs.
Atom’s main downside is that it is unpolished compared to other CEs. It has seen substantial updates since launch but still crashes occasionally. Unfortunately, updates have noticeably slowed since Microsoft acquired Github in 2018.
Pros:
- Usable out of the box
- Lightweight and Customizable through plugins
- Easy plugin integration
Cons:
- Slow startup time
- Still comparatively unpolished with performance issues
- Runs as a JavaScript process
- Some essential features (debugger, code building, etc) must be added via a plugin
Use Case:
You’re a multi-language developer who wants a free CE with extensive customization but doesn’t want to spend too much time fine-tuning it.
Codespaces (CE)
Developed by Microsoft and released in May of 2020, Codespaces is a new cloud-based cross-platform CE usable entirely in your browser. It includes a browser-based text editor and support for Git repositories, extensions, and a built-in command-line interface. It is even usable offline and will update once an internet connection is reestablished.
Codespaces can either be launched directly from Github or through a local install of Visual Studio. Codespaces is currently free but will include a paid option in the future.
Codespaces browser-based approach allows you to work from anywhere on any internet capable device. This makes it excellent for team projects because you no longer need to have a shared tool or pass around file copies.
The biggest downside of Codespaces is that it is new and unrefined. As with any new product, you could easily find a bug that doesn’t have a fix yet.
Pros:
- Good for team projects
- Usable anywhere on any device
- No install or setup
- Integrated with Github from the ground up
Cons:
- New and unpredictable
- 5 workspaces limit
- Limited customization
Use Case:
You’re a developer that often works on collaborative projects or contributes to open-source projects and don’t mind limited customization options.
Visual Studio (IDE)
Visual Studio is a general IDE that supports Python through a plugin called Python Tools for Visual Studio (PTVS). Visual Studio has extensive features, with built-in support for Git, a built-in terminal, comprehensive unit test tools. It also has an extension marketplace similar to Atom.
Visual Studio also comes with Intellisense, widely considered to be one of the best autocompletion systems available to developers today. You can also add plugins to allow support for web dev tools like Flask or Django.
The download is quite large but is worth it if you use it for multiple languages. There is a free version (Community) and paid versions (Business/Enterprise) that offer extra perks like customer support and DevOps tools.
Visual Studio also has a lightweight CE called Visual Studio Code (VS Code).
Pros:
- Full of features off the bat
- Usable for many platforms and languages
- Easy to add plugins
- Intellisense autocomplete
Cons:
- Extra resources behind a paywall
- Heavy footprint for use with just Python
- Not available for Linux operating system
Use Case:
You’re a dedicated developer who changes languages regularly, wants to learn one tool for all your programming needs, and aren’t too interested in visual customizations.
Sublime Text 3 (CE)
Sublime Text is a highly responsive code editor used by thousands of developers. Sublime text supports multiple versions of Python and allows you to set your version for each project.
Sublime is nearly unbeatable in speed, with all but the largest files opening instantly. Sublime’s other call to fame is its extreme customization through user-built plug-in packages.
These plugins let you change nearly anything about the code editor, from appearance to error finding, code completion, additional language support, and more. More plugins are added each day, meaning Sublime is potentially one of the most updated tools available.
The main downside of Sublime is its $80 cost.
Pros:
- Highly customizable through plugins
- Unmatched speed
- Great for working on multiple projects at once
Cons:
- $80 price
- Vanilla version missing features
- Complicated to add plugins
Use Case:
You’re a long time coder who wants a customizable but lightweight tool for all your favorite programming languages and are not afraid to take time to set it up.
Vim (CE)
Vim is a classic code editor built as the successor to VI. It comes readily installed in Mac OS and Linux but is also available for download on Windows. It’s known for a steep learning curve but serious payoffs. It’s still readily updated but rarely sees stark changes.
Vim has nearly no UI by default and is operated entirely by the keyboard. This means you can use VIMscripts to customize anything in the tool from appearance to custom keyboard shortcuts. This marks Vim as potentially the most customizable and efficient CE once you’ve mastered it.
While efficient once learned, exclusive keyboard control is a tough transition to make if you’re not coming from VI. The VIMscript customizations are equally difficult to pick up as they require that you complete a coding project before you even start!
Pros:
- Keyboard control greatly increases coding speed once optimized
- Programmable keyboard shortcuts for personalized optimizations
- Fully customizable with VIMscripts
- Available by default on Mac and Linux machines
Cons:
- Notoriously difficult to pick up for beginners
- Customization is a highly involved process
Use Case:
You’re already used to VI and keyboard controls or want the most customizable and efficient editor regardless of the learning curve.
Conclusion
Python is an open source programming language with dynamic, expressive syntax. It has an abundance of high quality libraries and frameworks for a few different purposes. I’ve been working with Python for several years now and have used the same IDE up until a year ago when I decided to try something new. That’s when I discovered a popular plugin for IntelliJ IDEA called PyCharm.