How to get started with Python development.
Installing Python on Windows
This article explains how to setup Python on Windows.
Installing Python on macOS
This article explains how to setup Python on macOS.
The Standard Tools
A standard Python installation provides you with:
- The Python runtime
- An interactive shell (use the menu icon, or type python in a command prompt window)
- A basic IDE, called IDLE
- A large standard library, along with documentation
- An extensive tutorial, to help you get started
IDLE is intended as a basic and portable development environment that lets new programmers start without having to install a separate editor for their code. For a much better experience, install a text editor or IDE that supports Python.
The tutorial that is supplied with Python can walk you through the basics. The documentation for the standard library does provide simple examples for many features, but it is specifically designed as a reference, rather than for learning. The last section of this article gives you links to courses and books that you may find more helpful when starting with Python.
Choosing a Code Editor or IDE
If you are new to programming, start with Mu, which is specifically designed to help new developers work with Python.
Visual Studio Code
The Microsoft releases of Visual Studio Code are proprietary software with telemetry enabled by default. To avoid these issues, use the packages that are provided by the vscodium project.
Once you have installed Visual Studio Code or VSCodium, read this article for more information about using the editor.
Integrated Development Environments
If you would like to use a full IDE, there are several options available. Wing IDE and PyCharm are proprietary, commercial products. The free Eclipse IDE can be be used for Python development with the PyDev extension. Current versions of Microsoft Visual Studio also include support for Python.
There are a number of de-facto standard utilities and libraries for Python software development, but a few tools are so fundamental that you should install them even before you begin to write Python code.
Git for Version Control
If you do not already use version control, you should also install Git on your system. Git is now effectively the standard version control tool for developers.
Version control is obviously vital for collaborating with other programmers. It also enables you to efficiently copy your application to other systems for testing, deployment and backup.
If Git is installed, Atom and Visual Studio Code provide you with access to information and features from Git directly in their user interfaces. If you use Visual Studio Code, you should also consider installing the Git Lens extension, which enhances the integration with Git.
pipenv for Virtual Environments
Install pipenv to manage your Python projects. It ensures that each of your Python projects use a separate set of packages, and provides other features to help you maintain your work, such as checking the code and warning you about security issues in libraries.
The pipenv tool uses the pip and virtual environment facilities that are included with Python itself, so it is compatible with other Python utilities.
The Python Guide tutorial shows you how to work with pipenv.
Building Graphical Desktop Applications
If you are specifically interested in developing desktop applications, start with wxPython. The Tk interface toolkit that is supplied with the Python standard library is rather basic and dated. If you have advanced needs, consider QT for Python, which enables you to make use of the QT libraries.
Microsoft Windows Integration
Python includes support for some features that are unique to Microsoft Windows, but not all of them. To use Python with other features of Windows, such as COM and the Registry, install the win32 Extensions.
To build packages for desktop and command-line applications, use PyInstaller. This creates stand-alone executables that include Python itself, your code, and any other dependencies.
If you need to deploy server applications to multiple locations, consider packaging the applications in containers. Docker is currently the most popular set of tools for building containers.
This article lists useful learning resources for Python.