Perfect Your Python Development Setup
Learning Path ⋅ Skills: Python Setup, Code Editors & IDEs, Running Apps

Optimize your Python development setup with this learning path covering installing Python 3 correctly, choosing the right code editor for you, as well as tips for working with virtual environments and testing your Python apps.
Perfect Your Python Development Setup
Learning Path ⋅ 13 Resources

Course
Installing Python on Windows, macOS, and Linux
To get started working with Python, you'll need to have access to the Python interpreter. There are several common ways to accomplish this and in this course, you will learn how to install the latest version of Python on your computer.

Course
Finding the Perfect Python Code Editor
Find your perfect Python development setup with this review of Python IDEs and code editors. Writing Python using IDLE or the Python REPL is great for simple things, but not ideal for larger programming projects. With this course you'll get an overview of the most common Python coding environments to help you make an informed decision.

Course
Setup Guide: Visual Studio Code + Python
Learn how to set up Visual Studio Code for Python development. By following examples, you'll cover everything from installing and configuring VSCode, to running tests and debugging Python apps.

Course
Setup Guide: Thonny, the Beginner-Friendly Python IDE
In this course, you’ll learn all about Thonny, a free Python Integrated Development Environment (IDE) that was especially designed with the beginner Pythonista in mind. It has a built-in debugger and allows you to do step-through expression evaluation.

Tutorial
Discover bpython: A Python REPL With IDE-Like Features
Learn about bpython, an alternative Python REPL that brings code suggestions and many other IDE-like features to the terminal. Once you discover how much bpython can improve your productivity, you'll never want to return to using the vanilla Python REPL again.

Tutorial
Unlock IPython's Magical Toolbox for Your Coding Journey
IPython is a powerful tool that can prove useful on your journey to mastering Python. Its friendly interface will enable you to comfortably take control of your learning. In this tutorial, you'll cover the basic concepts of using IPython and learn how its features can make coding efficient.

Course
Setup Guide: Jupyter Notebooks + Python
Learn how to get started with the Jupyter Notebook, an open source web application that you can use to create and share documents that contain live code, equations, visualizations, and text.

Tutorial
Setup Guide: Sublime Text + Python
This article details how to set up Sublime Text for full stack Python development.

Tutorial
Setup Guide: PyCharm + Python
Learn how you can use PyCharm to be a more productive Python developer. PyCharm makes debugging and visualization easy so you can focus on business logic and just get the job done.

Tutorial
Setup Guide: Emacs + Python
Learn about using Emacs for Python development. You'll install and configure Emacs on your selected platform, then write Python code to explore its capabilities. Finally, you'll run, test, and debug Python code in the Emacs environment.

Tutorial
Setup Guide: VIM + Python
This article details how to set up a powerful VIM environment for Python development.

Tutorial
Choosing the Best Coding Font for Programming
The font that you use is an important piece in your tool kit as a programmer. After all, you look at your programming font the whole time when writing code. In this tutorial, you'll find your perfect font for coding.

Tutorial
An Effective Python Environment: Making Yourself at Home
This guide will walk you through the decisions you need to make when customizing your development environment for working with Python.

Course
Running Python Scripts
This step-by-step course will guide you through a series of ways to run Python scripts, depending on your environment, platform, needs, and skills as a programmer.

Course
A Beginner's Guide to pip
What is pip? In this beginner-friendly course, you'll learn how to use pip, the standard package manager for Python, so that you can install and manage additional packages that are not part of the Python standard library.

Course
Working With Python Virtual Environments
This course demonstrates how Python's virtual environments work as a "sandbox" and you get a quick walkthrough on how to set up a new environment (or virtualenv, as they're called for short) and how to install third-party packages into it using the pip command.

Course
Start Managing Multiple Python Versions With pyenv
Learn how to install multiple Python versions and switch between them with ease, including project-specific virtual environments, with pyenv.

Course
Working With Pipenv
Pipenv is a packaging tool for Python that solves some common problems associated with the typical workflow using pip, virtualenv, and requirements.txt. In this course, you'll go over what problems Pipenv solves and how to manage your Python dependencies with it.

Course
Running Python Tests With PyTest
In this hands-on course, you’ll see how to create Python unit tests, execute them, and find the bugs before your users do. You’ll learn about the tools available to write and execute tests, check your application’s performance, and even look for security issues.

Course
Introduction to Git and GitHub for Python Developers
What is Git, what is GitHub, and what's the difference? Learn the basics of Git and GitHub from the perspective of a Pythonista in this step-by-step video course.

Tutorial
Run Python Versions in Docker: How to Try the Latest Python Release
Learn how to run different Python versions in Docker. By following the examples, you'll see how you can play with the latest development version of Python, and how to use Dockerfiles to set up Python environments and package your own scripts.

Course
Managing Python Dependencies
Get up to speed with Python dependency management quickly and go from “writing scripts” to “building applications” with this complete course.
Got feedback on this learning path?
Looking for real-time conversation? Visit the Real Python Community Chat or join the next “Office Hours” Live Q&A Session. Happy Pythoning!