Настройка рабочей среды PyCharm под Linux
Основной способ установки PyCharm через официальный дистрибутив
Как выполнить установку PyCharm на Linux без сторонних менеджеров пакетов и с максимальной производительностью?
Официальный дистрибутив в виде tar.gz архива предоставляет полный контроль над версией и расположением. Этот способ не зависит от системы управления пакетами и позволяет избежать ограничений песочницы, присущих Snap или Flatpak.
Шаг 1: Загрузка архива
Скачать архив можно со страницы загрузок JetBrains или с помощью wget:
wget https://download.jetbrains.com/python/pycharm-community-2024.1.4.tar.gzPycharm python linux (pycharm на linux)
Для Professional Edition ссылка будет отличаться.
Шаг 2: Распаковка
tar -xzf pycharm-community-2024.1.4.tar.gzPycharm 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, чтобы вставить конструкцию.