PyCharm Professional Edition очень мощная IDE для Python. IDE замечательно работает "из коробки", но если её слегка настроить, то она будет еще удобнее. Статья не претендует на лучшую в своем роде, я просто расскажу как я настраиваю IDE для себя на MacOS.


Интеграция с GitHub

Интеграция с GitHub (если вы используете этот сервис) позволит выполнять большинство рутинных операция прямо в IDE. Чтобы провести интеграцию, необходимо в окне Preferences найти Version Control → GitHub и там нажать на плюсик и выбрать Log In with Token. У вас выскочит такое окошко





Жмите Generate и вас перекинет на github.com в раздел создания токена. Настройки выставятся автоматом (но вы можете выбрать и другие), нужно будет только поменять название (по желанию) и выставить дату. Токен не закончится внезапно, GitHub предложит продлить его и вам не надо будет повторять эту процедуру (нужно будет просто нажать на специальную кнопку на сайте; Github подскажет), т.к. токен уже в вашей IDE.

Если всё выставили, жмите зеленую кнопку Generate Token и затем копируйте его.




Свежий токен вставляйте в окно PyCharm и жмите Add Account. В окне настроек появится ваш аккаунт.


Клонирование проекта с GitHub

Когда настроена интеграция, то клонировать проект с GitHub проще простого! В меню нужно открыть пункт Git Clone (или кнопку Get from VCS, если у вас открыто главное окно IDE), выбирайте нужный репозиторий и жмите Clone.



Настройка Virtual Environment

Если вы клонировали репозиторий в котором нет файла requirements.txt, или просто создали проект локально, то у вас не создается Virtual Environment. Тем не менее, создать его не составит труда: в нижней части экрана у вас будете отображаться системная версия Python. У меня это Python 2.7.




Для создания виртуальной среды нужно кликнуть на Python 2.7 и нажать Add Interpreter. В открывшемся окне необходимо сделать (вообще-то почти ничего делать не надо, оно само...) все как на скриншоте ниже, а именно:

  1. Выбрать New environment
  2. Задать нужный путь (папка проект\venv)
  3. Выбрать нужную вам версию Python
  4. Нажать OK


После этих простых манипуляций внизу окна, вместо Python 2.7, появится надпись Python 3.7 (project-name).

Что нам это дает? При открытии терминала в IDE у вас будет автоматически запускаться терминал в виртуальной среде.


Но если у вас в репозитории есть файл requirements.txt, то PyCharm после клонирования запустит диалоговое окно для создания Virtual Environment, где нужно просто убедится, что venv будет создан в нужном вам месте и правильно выбраны интерпретатор и файл с зависимостями requirements.txt.

Как только нажмёте кнопку OK, PyCharm запустит аналоги следующих команд:

% python3.7 -m venv venv
% source venv/bin/activate
% pip install -r requirements.txt

Готово! Папка venv создана, зависимости установлены



Настройка Code Style

PyCharm любит PEP8, но не всегда следует. В настройках можно найти Code Style (кстати, поиск по настройкам замечательно работает) и поменять ограничение по длине строки. Справа сразу можно видеть превью кода, что очень удобно во время настройки :)

Если залезть в пункт Scheme, то можно выбрать для чего вы меняете настройки: для проекта или всей IDE. Это очень удобно, когда для разных проектов разные требования по оформлению.

Чтобы настроить форматирование шаблонов для Django, надо залезть в настройки HTML. Все остальные настройки меня вполне устраивают :)




Интеграция с Django

Для интеграции с Django много не нужно. Сперва необходимо дать знать IDE, что наш проект - это Django. Делаем как на скриншоте: выбираем путь к корневой папке проекта (там где лежит manage.py) и указываем файл settings.py и manage.py (все пути должны быть относительно Django project root)



Затем можно сказать IDE какие папки за что отвечают. И тогда PyCharm не будет искать где у вас корень проекта, статика, тесты или шаблоны, а сразу будет знать куда смотреть. Помогите IDE и она поможет вам в работе :)

Делается это так: жмём правой кнопкой на нужную папку и выбираем пункт меню Mark Directory as. А далее тот подпункт, который соответствует выбранной папке:

  • Source Root для корневой папки проекта
  • Excluded для папок, в которые PyCharm не должен смотреть (индексация, поиск и т.д.)
  • Test Source Root для папок с тестами
  • Resource Root для папки со статикой
  • Template Folder для папки с шаблонами

В итоге должно получится нечто такое:




Конфигурации для запуска Django Server, Django Test

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

Тыкаем на Add configuration в верхней части окна и далее на Add new




Там выбираем Django Server. В Name пишем понятное название, в поле Host указываем IP-адрес, в поле Port - порт. Все остальное не обязательно.

Тут же жмём на "+" и добавляем конфигурацию Django test - там вообще ничего не надо настраивать - все само.




После жмём ОК и запускаем выбранную конфигурацию с помощью горячих клавиш (для MacOS это control + R). В случае с сервером это просто удобно, а с тестами - очень удобно! IDE подсвечивает каждый тест, который не сработал и так намного проще работать. Результат на скрине ниже: 




С помощью кнопки "1" можно запустить заново все тесты, а с помощью кнопки "2" - только те тесты в которых ошибка. "Удобно" - не то слово


Это тот минимум настроек, который позволяет мне работать с проектами немного быстрее. Статья будет дополняться :)