PyCharm is a full-featured Python IDE developed by JetBrains. It includes built-in debugging, embedded Git control, Docker and Vagrant support, Anaconda integration, syntax highlighting, intelligent code completion, an SSH terminal, and project-wide code refactoring. It also supports web frameworks including Django and Flask, and front-end languages like JavaScript, HTML, and CSS.
PyCharm is available in two editions: Community (free and open-source) and Professional (paid subscription with additional web and database tooling).
This guide covers how to install PyCharm on Ubuntu 18.04 using the snap package manager. The same steps apply to Ubuntu 16.04, Linux Mint, Kubuntu, and Elementary OS.
<strong>Prerequisite:</strong> You need sudo access.
Snap is a universal Linux package format developed by Canonical. Snap packages bundle all dependencies inside a single archive, which makes installation a one-line command that works the same way across different Linux distributions.
Install PyCharm Community Edition:
bashsudo snap install pycharm-community --classic
The --classic flag grants the snap package classic confinement, which means unrestricted access to the filesystem. IDEs require this because they need to open, read, and write project files stored anywhere on disk. Without classic confinement, PyCharm would be restricted to a sandboxed directory and could not access projects in your home folder or elsewhere.
Installation takes a few minutes depending on connection speed. On success:
pycharm-community 2018.2.4 from 'jetbrains' installed
PyCharm is published directly by JetBrains on the Snap Store. Snap auto-updates PyCharm in the background when new versions are released. No manual upgrade commands are needed.
Verify the installed version with:
bashsnap list pycharm-community
If you prefer a GUI, you can also install PyCharm Community Edition through the Ubuntu Software Center by searching for “PyCharm.”
Both editions share the same core IDE interface and debugger. The differences are in framework support and tooling:
| Feature | Community (Free) | Professional (Paid) |
|---|---|---|
| Python development | ✅ Full | ✅ Full |
| Debugger and test runner | ✅ | ✅ |
| Git and version control | ✅ | ✅ |
| Django and Flask support | Limited | ✅ Full |
| Database tools | No | ✅ |
| Remote interpreters and SSH | No | ✅ |
| Jupyter Notebook integration | No | ✅ |
| Scientific tools (numpy, matplotlib) | Partial | ✅ Full |
Community Edition is the right choice for learning Python, writing scripts, building command-line applications, and data science or machine learning projects. Professional makes more sense for web application development with Django or Flask, or for teams that need remote development on Linux servers.
JetBrains offers a 30-day free trial of the Professional edition if you want to evaluate the additional features before committing.
Launch PyCharm from the Activities menu or from the terminal:
bashpycharm-community
The first-run wizard walks you through three steps:
The customization screen lets you set a UI theme. Darcula (dark) is the most popular choice and reduces eye strain during long sessions.
Click Create New Project from the welcome screen. PyCharm asks for a project directory and a Python interpreter. By default, it creates a virtual environment (venv) inside the project folder automatically. This isolates the project’s Python packages from the system Python and from other projects on your machine, which prevents dependency conflicts.
A few keyboard shortcuts worth learning before writing your first line of code:
Shift+Shift: Search Everywhere — finds any file, class, symbol, or IDE action by nameAlt+Enter: shows quick fix options and intention actions at the cursorCtrl+Space: triggers code completion at any pointCtrl+Shift+F10: runs the current fileCtrl+D: starts the debugger on the current run configurationPyCharm Community Edition is now installed on your Ubuntu 18.04 machine. Explore the debugger, refactoring tools, and the plugin marketplace in the official PyCharm documentation. Leave a comment below if you run into any issues.
Ruby is a dynamic, open-source programming language known for its clean, readable syntax. It powers the…
PHP 8.5 is included in Ubuntu 26.04's default repositories and is the recommended version for…
Ubuntu 26.04 LTS "Resolute Raccoon" arrived on April 23, 2026 with Linux kernel 7.0, GNOME 50,…
Kubernetes is the standard platform for running containerized workloads across multiple servers with self-healing, rolling…
Ubuntu 26.04 LTS "Resolute Raccoon" was released on April 23, 2026 with Linux kernel 7.0, GNOME desktop, and standard security support until April 2031. A clean install gives you a known-good starting point on new hardware, when replacing another operating system, or when an upgrade path is not practical. This guide walks through how to install Ubuntu 26.04: downloading and verifying the ISO, writing a bootable USB drive, completing the installer, and doing the initial setup after the first boot. Before you start: You need a USB drive with at least 12 GB of free space. Back up any existing data on the target machine — the installer can erase the entire disk. Install Ubuntu 26.04: Download the ISO…
The correct timezone affects more than the clock on your screen. It drives cron job scheduling, systemd timer execution, log file timestamps, database record timing, and SSL certificate validity checks. A mismatched timezone can cause scheduled jobs to fire at the wrong hour and make log timestamps impossible to match with real-world events. This guide shows how to change timezone on Ubuntu using the timedatectl command (the recommended approach for servers and remote machines) and through the graphical Date & Time settings on desktop systems. The steps apply to all current Ubuntu releases including 24.04 and 26.04. <strong>Prerequisite:</strong> Only the root user or a user with sudo access can change the system timezone. Check the Current Timezone Before You Change It Run timedatectl with no arguments to see the active timezone and clock status: bashtimedatectl Sample output: Local…