Настройка рабочей среды PyCharm под Linux

Раздел: Среда разработки -> Настройка среды PyCharm

Основной способ установки PyCharm через официальный дистрибутив

Как выполнить установку PyCharm на Linux без сторонних менеджеров пакетов и с максимальной производительностью?

Официальный дистрибутив в виде tar.gz архива предоставляет полный контроль над версией и расположением. Этот способ не зависит от системы управления пакетами и позволяет избежать ограничений песочницы, присущих Snap или Flatpak.

Шаг 1: Загрузка архива

Скачать архив можно со страницы загрузок JetBrains или с помощью wget:

wget https://download.jetbrains.com/python/pycharm-community-2024.1.4.tar.gz

Pycharm python linux (pycharm на linux)

Для Professional Edition ссылка будет отличаться.

Шаг 2: Распаковка

tar -xzf pycharm-community-2024.1.4.tar.gz

Pycharm python package (управление пакетами в pycharm)

Шаг 3: Перемещение в системный каталог

sudo mv pycharm-community-2024.1.4 /opt/pycharm

как установить python в pycharm (установка python в pycharm)

Каталог /opt традиционно используется для стороннего программного обеспечения.

Шаг 4: Создание символической ссылки

sudo ln -s /opt/pycharm/bin/pycharm.sh /usr/local/bin/pycharm

После этого команда pycharm станет доступна из любого терминала.

Шаг 5: Создание ярлыка в меню приложений

Создаётся файл ~/.local/share/applications/pycharm.desktop со следующим содержимым:

[Desktop Entry]
Version=1.0
Type=Application
Name=PyCharm Community
Icon=/opt/pycharm/bin/pycharm.png
Exec="/opt/pycharm/bin/pycharm.sh" %f
Comment=Python IDE
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-pycharm-ce

Теперь PyCharm появится в меню приложений.

Частая проблема: после запуска появляется сообщение об отсутствии JDK. PyCharm Community Edition включает встроенную JRE, но если Java не установлена, может потребоваться установка OpenJDK:

sudo apt install openjdk-17-jre   # для Debian/Ubuntu
sudo dnf install java-17-openjdk    # для Fedora

Также возможно, что архив не распакован с сохранением прав на выполнение. В этом случае необходимо сделать скрипт исполняемым:

chmod +x /opt/pycharm/bin/pycharm.sh

Альтернативные варианты установки PyCharm

Как установить PyCharm через Snap?

Snap пакеты автоматически обновляются и изолированы. Для установки Community Edition используется команда:

sudo snap install pycharm-community --classic

Ключ --classic отключает строгую изоляцию, необходимую для доступа к файловой системе.

Проблема: PyCharm, установленный через Snap, может не видеть системные пакеты Python. Решение - использовать виртуальное окружение внутри проекта или установить пакеты в Snap-окружение с помощью pip внутри PyCharm.

Как установить PyCharm через Flatpak?

Flatpak обеспечивает изоляцию приложения. Установка:

flatpak install flathub com.jetbrains.PyCharm-Community

После установки может потребоваться предоставить доступ к домашней папке:

flatpak override --user --filesystem=host com.jetbrains.PyCharm-Community

Проблема: В некоторых окружениях рабочего стола шрифты отображаются некорректно. Для решения можно установить шрифты:

flatpak install flathub org.freedesktop.Platform.openh264

Или настроить шрифты через системные настройки.

Как настроить интерпретатор Python с использованием виртуального окружения?

Venv - встроенное решение для изоляции зависимостей. Окружение создаётся командой:

python3 -m venv ~/myproject/venv

В PyCharm: File -> Settings -> Project -> Python Interpreter -> Add -> Virtualenv Environment -> Existing environment, указывается путь к ~/myproject/venv/bin/python.

Активация окружения в терминале PyCharm происходит автоматически.

Типичная ошибка: PyCharm не видит venv из-за прав доступа. Следует убедиться, что каталог venv доступен для чтения. Если окружение создавалось от root, изменить владельца можно командой:

sudo chown -R $USER:$USER ~/myproject/venv

Как добавить Conda окружение в PyCharm?

Если используется Anaconda или Miniconda, окружения можно подключать напрямую. Окружение создаётся командой:

conda create -n myenv python=3.11

В PyCharm: File -> Settings -> Project -> Python Interpreter -> Add -> Conda Environment, указывается путь к исполняемому файлу Conda (обычно ~/miniconda3/bin/conda) и имя окружения.

Возможная проблема: PyCharm не находит conda. Необходимо установить Conda или указать полный путь к бинарному файлу.

Как настроить отладку с pytest?

Для запуска тестов внутри PyCharm: Run -> Edit Configurations -> + -> Python tests -> pytest. Указывается рабочая директория и опционально модули. Устанавливается pytest, если он отсутствует:

pip install pytest

После этого можно запускать тесты кнопкой Run рядом с тестовой функцией.

Ошибка: PyCharm не видит тесты. Следует проверить, что файлы тестов начинаются с test_ или заканчиваются на _test.py.

Как подключить линтеры flake8 и black?

Пакеты устанавливаются командой:

pip install flake8 black mypy

В PyCharm есть встроенная поддержка линтеров: File -> Settings -> Tools -> External Tools добавляется новая утилита, с указанием пути к flake8 и аргументов. Либо используется плагин File Watchers для автоматического запуска black при сохранении.

Проблема: black не форматирует код после сохранения. Следует проверить, что File Watcher сконфигурирован корректно: программа black, аргументы $FilePath$, вывод в тот же файл.

Расширенные примеры конфигурации PyCharm

Настройка удаленного интерпретатора через SSH

PyCharm позволяет выполнять код на удаленном сервере, синхронизируя файлы. Для этого необходимо подготовить сервер с SSH-доступом и Python.

Генерация SSH-ключа (при его отсутствии):

Пример
ssh-keygen -t rsa -b 4096
ssh-copy-id user@remote-server

В PyCharm: File -> Settings -> Project -> Python Interpreter -> Add -> SSH Interpreter. Указываются хост, порт, имя пользователя, выбирается аутентификация по ключу. После подключения PyCharm предложит указать путь к интерпретатору Python на сервере (например, /usr/bin/python3).

Результат: при запуске файла PyCharm копирует его на сервер, выполняет и возвращает вывод.

Пример
# локальный файл test.py
print("Remote execution")
Remote execution

Для проектов рекомендуется настроить синхронизацию папок в Tools -> Deployment, указав корневую директорию сервера.

Настройка Docker-интерпретатора

Использование Docker позволяет изолировать окружение и автоматически доставлять зависимости. Создаётся Dockerfile в корне проекта:

Пример
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .

В PyCharm: Settings -> Project -> Python Interpreter -> Add -> Docker. Выбирается образ собранный из Dockerfile или указывается готовый образ. PyCharm автоматически монтирует папку проекта в контейнер.

Пример
# run.py
import sys
print(sys.version)
3.11.9 (main, ...)

При изменении кода перезапуск контейнера не требуется, изменения подхватываются через монтирование.

Профилирование кода с помощью cProfile

PyCharm интегрируется с модулем cProfile для анализа производительности. Создаётся конфигурация запуска: Run -> Edit Configurations -> + -> Python, устанавливается флажок Profile Python.

Пример медленного кода:

Пример
import cProfile
import time

def slow_function():
    total = 0
    for i in range(1000000):
        total += i * i
    return total

cProfile.run('slow_function()', sort='time')
         6 function calls in 0.209 seconds

   Ordered by: internal time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    0.209    0.209    0.209    0.209 <string>:1(<module>)
        1    0.000    0.000    0.209    0.209 {built-in method builtins.exec}
...

Результат позволяет выявить узкие места.

Создание кастомных шаблонов кода (File Templates)

Шаблоны позволяют быстро генерировать код при создании файла. Настройка: Settings -> Editor -> File and Code Templates -> Python Script. Содержимое заменяется на:

Пример
#! /usr/bin/env python3
# -*- coding: utf-8 -*-
"""
${NAME} - описание модуля
"""
from django.shortcuts import render

def ${NAME}(request):
    return render(request, '${NAME}.html')

Теперь при создании файла с именем view будет сгенерирован код с функцией view, импортом и docstring.

Настройка Live Templates для отладки

Live Templates ускоряют ввод повторяющихся конструкций. Например, для вставки pdb.set_trace() по аббревиатуре pdb:

Settings -> Editor -> Live Templates -> Python -> Add. Указываются:

  • Abbreviation: pdb
  • Template text: import pdb; pdb.set_trace()
  • Applicable in Python: statement

После этого в редакторе достаточно набрать pdb и нажать Tab, чтобы вставить конструкцию.

PyCharm на Linux - comments

En
Pycharm python linux (python)