In PyCharm, content is a collection of files with which you are currently working, possibly organized in a hierarchy of subfolders. The top-level folder of a project is its content root.
Within a content root, PyCharm can distinguish between the folders that contain source code, and the ones to be ignored while searching, parsing, watching and so on. To distinguish different types of folders, mark any folder below a content root as a source folder or as excluded.
-
Source roots contain the actual source files and resources. PyCharm uses the source roots as the starting point for resolving imports
-
Excluded roots contain files and folders ignored by PyCharm when indexing, searching, parsing, watching, and so on.
-
Test sources roots These folders keep code related to testing separately from production code. Code sources and test sources are normally placed into different folders.
-
Resource roots (PyCharm Professional only) are intended for resource files in your application (images, Style Sheets, and so on). By assigning a folder to this category, you tell PyCharm that files in it and in its subfolders can be referenced relative to this folder instead of specifying full paths to them.
-
Namespace package With namespace packages you can create the sub-packages and modules within a single package. You can mark any directory as a namespace package to resolve import statements within that directory.
-
Template roots (PyCharm Professional only) contain templates for the various web projects.
To access project structure, open Settings by pressing Ctrl+Alt+S or by choosing for Windows and Linux or for macOS, then expand the Project node, and select Project Structure.
Create a content root
-
Open the Project Structure settings.
-
In the Projects pane of the Project Structure page, click the project you want to configure content roots for.
-
In the Content roots of the Project Structure page, click the Add Content Root button .
-
In the dialog that opens, locate the desired directory and click OK.
Remove a content root
-
Open the Project Structure settings.
-
In the Projects pane of the Project Structure page, click the project you want to configure content roots for.
-
In the Content roots pane of the Project Structure page, select the content root that you want to delete.
-
Click the Remove button and confirm removal.
You can assign a folder to a different category. This can be done both in the Project tool window and on the Project Structure page of the Settings dialog.
Assign a category to a folder in the Project tool window
-
Open the Project tool window (for example ).
-
Select the folder that you want to assign to a certain category.
-
Right-click it and select the desired category from Mark Directory As menu.
In a similar way you can change the folder category at a later time. (Just select a different category from the context menu.)
To cancel the folder association with its current category (that is to make a folder an «ordinary» folder ), select Unmark as <current_category> Root. (for example Unmark as Resource Root).
Assign a category to a folder in the project settings
-
Open Project Structure page of the Settings dialog (Ctrl+Alt+S).
-
Select the folder you want to assign a category to.
-
Click the category button, for example, .
You can make files and folders excluded by specifying the name patterns. Use the Exclude files field to specify the patterns.
The files and folders whose names match at least one of the specified patterns are made excluded. Folders are excluded along with all their contents.
Last modified: 18 January 2023
Я использую PyCharm 3.4.1 в Ubuntu 14.04. Для нового проекта предлагается ~/PyCharmProjects
для хранения папок проекта. Можно ли изменить расположение и имя предлагаемой папки?
(Я не нашел упоминания об изменении этого параметра в интерфейсе, на сайте JetBrains или в файлах настроек. Либо это невозможно, либо (надеюсь) я что-то пропустил.)
Обратите внимание: это не дубликат Могу ли я изменить расположение / имя PyCharmProjects? — я знаю, что можно изменить предлагаемый путь для каждого созданного проекта, но мне нужны значения по умолчанию, которые мне нравятся.
10 ответов
Лучший ответ
Я знаю, что это старый вопрос, но на данный момент он, безусловно, возможен
Настройки | Внешний вид и поведение | Системные настройки | Каталог по умолчанию
См. JetBrains страница поддержки
17
Psionman
1 Май 2020 в 16:22
На самом деле это возможно. В папке настроек IDE (https://www.jetbrains.com /help/pycharm/project-and-ide-settings.html) в разделе config/options/recentProjectDirectories.xml
вы можете добавить параметр lastProjectLocation
. Этот параметр будет учитываться при создании новых проектов. Мой последнийProjectDirectories.xml выглядит так:
<application>
<component name="RecentDirectoryProjectsManager">
<option name="lastProjectLocation" value="$USER_HOME$/my_projects" />
</component>
</application>
Фактически, для большинства параметров, которые вы хотите настроить, вы можете выполнить сравнение папки config/options
до и после внесения изменений: таким образом вы можете узнать много о том, как PyCharm (или любой инструмент IntelliJ) настраивает свой редактор.
16
mfiers
4 Май 2018 в 15:24
Просто обновление ответа @Psionman. По крайней мере, в профессиональной версии (2019.3.5) t, похоже, немного изменился. Поле теперь доступно по адресу
Файл | Настройки | Внешний вид и поведение | Системные настройки> Открытие проекта> Каталог по умолчанию
3
Zara
19 Май 2020 в 00:22
PyCharm (по крайней мере, начиная с версии 2017) запоминает родительский каталог последнего места, где вы создали проект. Поэтому создайте нежелательный проект в каталоге, который вы хотите использовать в качестве каталога проектов по умолчанию, затем закройте этот проект и удалите его с диска. В следующий раз, когда вы создадите проект, pycharm автоматически поместит вас в этот каталог.
5
Edward Ned Harvey
25 Окт 2017 в 14:44
Как и virtualenvwrapper, PyCharm явно подчиняется $ PROJECT_HOME
export PROJECT_HOME=$HOME/Devel
pycharm
Или
PROJECT_HOME=$HOME/Devel pycharm
1
nuts
22 Май 2016 в 22:11
Возможно, это также служит:
Файл -> Настройки -> Проект (имя) -> Структура проекта -> Добавить корень содержимого
Добавляйте папки, а затем создавайте файлы и / или легко перемещайтесь между ними.
0
Tomerikoo
25 Окт 2021 в 22:06
Придется согласиться, потому что не нашел в программе вариант. Однако, основываясь на ответах, обнаружил папку с надписью (в моем случае) Users .PyCharmCE2018.1 config options
В этой папке есть XML-файлы, одна из которых имеет имя с тегом «file.chooser.recent.files». Я работал с этим, и я понял, что это работает на меня.
1
darkstar
4 Апр 2018 в 22:34
В последней версии 2021.3 есть такая возможность:
Файл | Настройки | Внешний вид и поведение | Системные настройки> Проект (Диалог)> Каталог проекта по умолчанию
3
Rand Mental
9 Дек 2021 в 18:18
Я не нашел явного варианта для этого в PyCharm, но следующие шаги сработали в качестве альтернативы:
- Переместите папку PycharmProjects в желаемое место.
- Когда вы создаете новый проект, нажмите кнопку «…» справа от пути (это во всплывающем окне, в котором запрашивается местоположение и интерпретатор).
- Перейдите в новое расположение PycharmProjects и выберите этот каталог.
- Добавьте имя нового проекта в расположение каталога (например, / home / alex / Documents / PycharmProjects / new_project_name)
Теперь, когда вы создаете новый проект, по умолчанию будет использоваться последний выбранный путь.
Это не было бы хорошим решением для тех, кто создает проекты во многих разных каталогах, а не только в PycharmProjects. Все мои проекты находятся в PycharmProjects, и это прекрасно работает.
10
AN88
19 Авг 2016 в 01:24
Программист должен сосредочить своё внимание на бизнес-логике создаваемого приложения и на его полезности. Именно для этого предназначен такой инструмент, как PyCharm от JetBrains. В нём решены задачи отладки и простой визуализации проектов, он экономит время и избавляет от рутинных операций.
Оглавление
- Установка PyCharm;
- Запись кода в PyCharm;
- Загрузка кода в PyCharm;
- Отладка в PyCharm;
- Тестирование в PyCharm;
- Редактирование существующего проекта в PyCharm;
- Поиск и навигация в PyCharm;
- Управление версиями в PyCharm:
- Настройка систем управления версиями;
- Коммиты и разрешение конфликтов.
- Плагины и внешние инструменты в PyCharm;
- Возможности профессиональной версии PyCharm:
- Поддержка Django;
- Поддержка баз данных;
- Визуализация параллельных потоков;
- Profiler;
- Режим научной разработки;
- Удалённая разработка;
- Заключение.
В этой статье вы узнаете о том:
- как установить PyCharm;
- как записать код в PyCharm;
- как загрузить код в PyCharm;
- отладка и тестирование кода в PyCharm;
- как изменить существующий проект в PyCharm;
- поиск и навигация в PyCharm;
- контроль версий в PyCharm;
- плагины и внешние инструменты в PyCharm;
- использование возможностей профессиональной версии PyCharm, таких как поддержка Django и режима научной разработки.;
Предполагается, что вы уже знакомы с Python и обладаете некоторым опытом разработки в своей системе. Используется Python 3.6. Скриншоты и демо-версии сделаны в Mac OS. Поскольку PyCharm работает на всех основных платформах, есть некоторые незначительные отличия элементов пользовательского интерфейса и, возможно, потребуется изменить некоторые команды.
Замечание:
PyCharm выпускается в трёх редакциях:
- PyCharm Edu — бесплатная версия для обучения;
- PyCharm Community — бесплатная версия и кроме обучения предназначена, главным образом, для развития Python;
- PyCharm Professional — платный вариант, который имеет полный функционал, зрелое сообщество, очень хорошо подходит для научной и Web разработок с поддержкой таких фреймворков, как Django и Flask, Database и SQL, таких научных инструментов, как Jupyter.
Для более подробной информации о различиях посмотрите PyCharm Editions Comparison Matrix от JetBrains. Кроме того, компания предоставляет бесплатные лицензии на версию Professional специальным предложением для студентов, преподавателей, проектам с открытым исходным кодом и им подобным командам.
В этой статья я буду использовать PyCharm Community Edition 2019.1
, так как она бесплатна и доступна на любой популярной платформе всем. Но смею вас заверить, что приведённые здесь примеры с успехом работают и на PyCharm Professional Edition 2019.1
.
Для установки PyCharm рекомендую использовать JetBrains Toolbox App. С его помощью вы сможете установить любые продукты JetBrains или несколько версий одного и того же продукта, при необходимости легко обновлять, откатывать и удалять любые инструменты. Вы также сможете быстро открыть любой проект в любой предыдущей версии.
Для установки Toolbox App
прочитайте фирменную документацию от JetBrains. Операционная система будет определена автоматически при загрузке и для вас будут предложены корректные пошаговые инструкции. Если этого не произойдёт, то выберите ОС «в рукопашную» в поле справа вверху:
После установки загрузите приложение и подтвердите своё согласие с условиями использования софта. На закладке Tools посмотрите список доступных продуктов. Выберите PyCharm Community
и нажмите Install
:
Вот и всё! PyCharm уже готов к работе на вашей машине. Если вам не нравится Toolbox app, то воспользуйтесь автономной установкой PyCharm.
Запустите PyCharm и увидите всплывающее окно настройки импорта:
PyCharm автоматически определит новую установку и предложит вам Do not import settings (Не импортировать настройки). Согласитесь и нажмите OK
, выберите раскладку клавиш PyCharm по умолчанию и нажмите Next: UI Themes (Далее: тема пользовательского интерфейса)
справа внизу:
PyCharm предложит вам тёмную тему под названием Darcula или светлую тему. Выберите то, что вам нравится и нажмите кнопку Next: Launcher Script (Далее: сценарий запуска)
:
Здесь на протяжении всего урока будет использоваться тёмная тема Darcula. Однако, вы можете найти и установить другую тему, используя плагины, или импортировать идеальную для вас тему IntelliJ.
На следующей странице оставьте всё по-умолчанию и нажмите Next: Featured plugins (Далее: Рекомендуемые плагины)
. Здесь PyCharm покажет вам список плагинов, которые вы можете немедленно установить, большинство пользователей любят это делать. Нажмите Start using PyCharm (Стартовать PyCharm)
и теперь можно смело записывать код!
Запись кода в PyCharm
В PyCharm всё делается в контексте проекта. Поэтому для начала его надо создать.
После установки и загрузки PyCharm в окне приветствия нажмите Create New Project (создать новый проект)
и вы появится окно для создания нового проекта New Project:
Укажите местоположение проекта и раскройте список Project Interpreter. Здесь у вас есть возможность создать новый интерпретатор для своего нового проекта или повторно использовать существующий. Выберите New environment using. Прямо рядом с ним у вас есть выпадающий список для выбора одного из вариантов Virtualenv, Pipenv или Conda, которые являются инструментами поддержки необходимых для разный проектов зависимостей отдельно, создавая для этого изолированные среды Python.
Если хотите, выберите для этого урока Virtualenv. При желании можно указать местоположение среды и выбрать базовый интерпретатор из списка, в котором должны присутствовать все интерпретаторы Python, например, Python 2.7 и Python 3.6, установленные в вашей операционной системе. Обычно по умолчанию все бывает в порядке, но если Python у вас не установлен, то придётся это сделать. Пройдите на сайт python.org, скачайте дистрибутив и сделайте установку интерпритатора. Затем вы должны выбрать блоки для наследования глобальных пакетов сайтов в вашей новой среде и сделать их доступными для всех других проектов. Пока не обращайте на них внимание и оставьте невыбранными.
В правом нижнем углу нажмите кнопочку Create и вы увидите созданный новый проект:
Также появится небольшое всплывающее окно Tip of the Day (Совет дня), где при каждом запуске даётся какой-то случайный совет от PyCharm. Прочитайте и просто закройте это окно.
Настало время начать запись кода на Python. Одновременно нажмите Cmd+N если у вас Mac или Alt+Ins если Windows или Linux. После чего выберите Python File. Это можно сделать воспользовавшись главным меню File → New. Назовите новый файл guess_game.py
и нажмите OK. Вы увидите окно PyCharm, похожее на это:
Давайте быстренько напишем тестовый код, реализующий простую игру на угадывание — программа генерирует секретное число, которое должен угадать человек. На каждое предложенное человеком число программа скажет, было оно меньше или больше секретного. Игра заканчивается, когда человек угадает число. Вот этот код gauss-game.py:
from random import randint def play(): random_int = randint(0, 100) while True: user_guess = int(input("Запишите целое число в диапазоне от 0 до 100?")) if user_guess == randint: print(f"Вы угадали число ({random_int}). Поздравляю!") break if user_guess < random_int: print("Ваше число меньше секретного.") continue if user_guess > random_int: print("Выше число больше секретного.") continue if __name__ == '__main__': play()
Не копируйте, а введите этот код напрямую и увидите что‑то вроде этого:
Как видите, в PyCharm есть Intelligent Coding Assistance — интеллектуальный ассистент кодирования, который делает автодополнение кода, проверяет синтаксис, сообщает об ошибках и даёт рекомендации по их исправлению. В частности, заметьте, когда вы записали main
и нажали Tab, PyCharm автоматически полностью завершил всю конструкцию main
за вас.
Так-же обратите внимание, что если перед if
поставить точку .if
и нажать Tab, то PyCharm полностью за вас напишет конструкцию if
. То же самое верно для True.while
— работает PyCharm’s Postfix completions (постфиксное дополнение кода) и не надо лишний раз нажимать на Enter для перехода но новую строку.
Загрузка кода в PyCharm
Теперь, когда вы написали код, пришло время запустить его.
У вас есть три способа запуска этой программы:
- Используйте клавиши Ctrl+Shift+R на Mac или Ctrl+Shift+F10 на Windows или Linux.
- Нажмите правую кнопку мыши в поле редактирования и в меню выберите Run ‘guess_game’.
- Поскольку в этой программе есть предложение
__main__
, то щелкните на маленькую зелёную стрелку слева от фразы__main__
и выберите Run ‘guess_game’отсюда.
Любой из этих вариантов приведёт к запуска программы, и вы увидите панель «Run Tool» в нижней части окна, с выводом кода, показывающим диалог.
Немного поиграйте и увидите, что секретное число угадать можно. Совет от профессионала: начните с 50.
Отладка в PyCharm
Вы нашли секретное число? Если так, то, возможно, заметили что-то странное, вместо того, чтобы печатать поздравление и завершать игру программа запускается заново. Где‑то прямо здесь есть ошибка. Чтобы узнать, почему программа запускается заново, вы должны её отладить.
Сначала установите точку останова
, нажав на пустое место слева от строки № 8:
В этот момент программа будет приостановлена и вы можете начать исследовать её состояние, диагностировать что пошло не так. Затем выберите один из следующих трех способов начала отладки:
- Нажмите Ctrl+Shift+D на Mac или Shift+Alt+F9 на Windows или Linux.
- Щелчком правой кнопки мыши в поле редактирования выберите Debug ‘guess_game’.
- Щёлкните на маленькую зелёную стрелку слева от фразы
__main__
и выберите Debug ‘guess_game отсюда.
После этого вы увидите открывшиеся внизу окно Debugger:
Для отладки программы выполните следующие шаги:
- Обратите внимание, что текущая строка выделена синим цветом.
- Посмотрите, что
random_int
и его значение перечислены в окне отладки. Запишите это значение. (На рисунке число 85.) - Нажмите F8 для выполнения текущей строки и перехода к следующей. Если в текущей строке вызывается функции, то при необходимости в неё попасть нажмите F7. По-шагово выполняя операторы, в окне отладки вы сможете наблюдать все изменения значений переменных, обновляемые автоматически.
- Обратите внимание, что рядом с открывшейся вкладкой «Debugger» находится вкладка «Console», у которых совершенно разное функциональное назначение. На вкладке Console вы будете взаимодействовать со своей программой, а на вкладке Debugger вы будете выполнять действия по отладке.
- Переключайтесь на вкладку Console для диалога с вашим guess.
- Запишите ваше число и нажмите Enter.
- Переключитесь назад на вкладку Debugger.
- Нажмите F8 для выполнения оператора
if
. Заметьте, вы на строке 14. Постойте! Почему не произошёл переход к 11 строке? Причина в том, что условие в оператореif
10 строки приняло значениеFalse
. Но почемуFalse
если введённое число то, что надо? - Внимательно посмотрите на строчку 10 и заметите, что мы сравниваем
user_guess
не с тем, что надо. Вместоrandom_int
делается сравнение с функциейrandint
, импортированной из пакетаrandom
. - Измените на
random_int
, перезапустите и сделайте пошаговое выполнение операторов. Вы видите, произошёл переход к строке 11, а значение условия сталоTrue
:
Поздравляю! Ошибка найдена и исправлена.
Тестирование в PyCharm
Без тестирования нельзя гарантировать надёжность работы любого приложения. PyCharm помогает быстро и комфортно написать и загрузить тесты. По-умолчанию используется unittest, но кроме него можно использовать такие фреймворки, как pytest, nose, doctest, tox и trial. Например, для своего проекта можно выбрать pytest
:
- Откройте диалог настройки Settings/Preferences → Tools → Python Integrated Tools.
- Выберите
pytest
в поле Default test runner. - Нажмите OK для сохранения настроек.
В нашем примере мы будем использовать загрузчик теста по‑умолчанию unittest
.
В том же самом проекте, где записана игра, создайте файл с именем calculator.py
и запишите в него код класса Calculator
:
class Calculator: def add(self, a, b): return a + b def multiply(self, a, b): return a * b
Для кода, открытого в редакторе, PyCharm позволяет очень легко создавать тесты. С открытым файлом calculator.py
выполните любое из следующих действий:
- Нажмите Shift+Cmd+T на Mac или Ctrl+Shift+T на Windows или Linux.
- Правой кнопкой мыши в поле редактирования выберите Go To и Test.
- В основном меню проследуйте Navigate → Test.
Выберите Create New Test (Создать новый тест) и посмотрите на окно:
Значения полей Target directory (целевой каталог), Test file name (Имя файла теста) и Test class name (Имя класса теста) оставьте по‑умолчанию. Для тестирования отметьте оба метода и нажмите на OK. Вуаля! PyCharm автоматически создаст для вас файл с именем test_calculator.py
и заглушки для тестов:
from unittest import TestCase class TestCalculator(TestCase): def test_add(self): self.fail() def test_multiply(self): self.fail()
Загрузите тест одним из следующих способов:
- Нажмите Ctrl+R на Mac или Shift+F10 на Windows или Linux.
- Щёлкните правой кнопкой мыши в поле редактирования и выберите Run ‘Unittests for test_calculator.py’.
- Щёлкните на маленькой зелёной стрелке слева от имени класс теста и выберите Run ‘Unittests for test_calculator.py’.
Вы увидите открытое окно тестов со всеми ошибками:
Обратите внимание, что у вас есть иерархия результатов теста слева и терминал для вывода результатов справа.
Теперь реализуем test_add
, изменив код на следующий:
from unittest import TestCase from calculator import Calculator class TestCalculator(TestCase): def test_add(self): self.calculator = Calculator() self.assertEqual(self.calculator.add(3, 4), 7) def test_multiply(self): self.fail()
Запустите тесты еще раз и увидите, что один тест пройден, а другой нет. Изучите настройки теста, чтобы показывать пройденные тесты, проигнорированные тесты, сортировку тестов по алфавиту и по времени исполнения:
Обратите внимание, что метод sleep (0.1)
, который вы видите на картинке выше, намеренно используется для замедления одного из тестов, чтобы показать, как работает сортировка по времени исполнения.
Редактирование существующего проекта в PyCharm
Однофайловые проекты отлично подходят для примеров, но жизнь гораздо сложнее и почти всегда вы длительное время будете работать над гораздо более крупными проектами. В этом разделе вы узнаете, как работать с большим проектом в PyCharm.
Чтобы понять возможности PyCharm в части работы с проектами, предлагаю вам использовать каркас Alcazar, созданный специально для обучения. Чтобы продолжить на своей локальной машинке клонируйте и сохраните этот репозитарий полностью.
После чего разархивируйте и откройте его в PyCharm одним из следующих способов:
- Нажмите File → Open в главном меню.
- Нажмите Open в окне Welcome Screen, если вы только что загрузили PyCharm.
После любого из этих шагов найдите на своём компьютере папку, содержащую проект, и откройте ее.
Если проект уже содержит виртуальную среду, то PyCharm будет автоматически её использовать и сделает интерпретатором проекта.
Если вы хотите создать свою virtualenv
— виртуальную среду, что обычно и делается, то откройте Preferences, нажав на Mac Cmd+, или Settings на Windows или Linux Ctrl+Alt+S и найдите секцию Project: ProjectName. Откройте выпадающий список и выберите Project Interpreter:
Выберите virtualenv
в выпадающем списке. Если такого выбора в списке нет, то для настройки спарва от выпадающего списка нажмите кнопку Add…. Дальнешие шаги такие же, как при создании нового проекта.
Поиск и навигация в PyCharm
В большом проекте одному человеку трудно запомнить что‑где находится, поэтому очень важны механизмы быстрой ориентации и поиска того, что нужно. К нашему удовольствию в PyCharm это есть. Используйте проект, который вы открыли раньше и попрактикуйтесь в нажатии клавиш в следующих сочетаниях:
- Поиск фрагмента текста в текущем файле: нажмите Cmd+F на Mac или Ctrl+F на Windows или Linux.
- Поиск фрагмента во всем проекте: нажмите Cmd+Shift+F на Mac или Ctrl+Shift+F на Windows или Linux.
- Поиск класса: нажмите Cmd+O на Mac или Ctrl+N на Windows или Linux.
- Поиск файла: нажмите Cmd+Shift+O на Mac или Ctrl+Shift+N на Windows или Linux.
- Поиск везде, если не знаете, что конкретно ищете — файл, класс или фрагмент кода: нажмите Shift дважды.
Что касается навигации, шпаргалка ниже сэкономит вам массу времени:
- Переход к объявлению переменной: нажмите Cmd на Mac или Ctrl на Windows или Linux и щёлкните по переменной.
- Поиск используемого класса, метода или любого символа: нажмите Alt+F7.
- Просмотр последних изменений: нажмите Shift+Alt+C или выберите View → Recent Changes в главном меню.
- Просмотр ваших последних файлов: нажмите Cmd+E на Mac или Ctrl+E на Windows или Linux или в главном меню прйдите View → Recent Files.
- G>Переход назад и вперед по истории навигации после того, как вы уже что‑то сделали: нажмите Cmd+[ / Cmd+] на Mac или Ctrl+Alt+Left / Ctrl+Alt+Right на Windows или Linux.
Для более подробного знакомства с этим вопросом читайте официальную документацию.
Управление версиями в PyCharm
Система управления версиямиએ, типа, Git или Mercurial является важнейшим инструментом в современном мире разработки программного обеспечения. Поэтому так важна поддержка их в любой IDE. PyCharm делает это очень хорошо, прекрасно интегрируясь с Git (и Github), а так же с другими популярными системами такими, как Mercurial, Perforce и Subversion.
Настройка систем управления версиями
Что-бы включить интеграцию с системой управления версиями пройдите VCS → VCS Operations Popup… в верхнем меню или нажмите клавиши Ctrl+V на Mac или Alt+` на Windows или Linux. Выберите Enable Version Control Integration…. Посмотрите на открывшееся окно:
Выберите Git из выпадающего списка, нажмите OK и в вашем проекте включена система управления версиями. Обратите внимание, что если вы открыли существующий проект с включенным управлением версиями, PyCharm увидит это и автоматически подключится к ней.
Теперь, если вы пройдете VCS Operations Popup…, то увидите всплывающее окно с опциями git add
, git stash
, git branch
, git commit
, git push
и много другое:
Если вы не можете найти то, что нужно, то, скорее всего, сможете это сделать, перейдя в верхнем меню в VCS, выбрав Git. Здесь даже можно создавать и просматривать запросы на извлечение.
Коммиты и разрешение конфликтов
Есть две особенности интеграции систем управления версиями в PyCharm, которые лично я использую и получаю от этого огромное удовольствие! Допустим, вы закончили свою работу и хотите это как-то отметить. Перейдите VCS → VCS Operations Popup… → Commit… или нажмите Cmd+K на Mac или Ctrl+K на Windows или Linux. Посмотрите на появившееся окно:
В этом окне можно:
- Выбрать файлы для фиксации;
- Записать сообщение о фиксации;
- Выполнить все команды проверки и очистки перед фиксацией;
- Посмотреть различия в изменениях;
- Зафиксировать и нажать стрелку справа от кнопки Commit и выбрать Commit and Push….
Это кажется молниеносно и магически, особенно если вы привыкли делать все в командной строке и вручную.
При работе в команде случаются конфликты слияния. Кто-то фиксирует изменения в файле, над которым вы сейчас работаете, но его изменения пересекаются с вашими, потому что вы оба поменяли одни и те же строки. Система управления версиями не сможет самостоятельно выяснить, какие изменения ей зафиксить ваши или вашего товарища по команде. Таким образом, могут получиться эти неудачные стрелки и символы:
Всё это выглядит странно и трудно понять, что надо удалить, а что оставить. PyCharm на помощь! У него гораздо приятнее и чище способ разрешения конфликтов. Перейдите к VCS в верхнем меню, выберите Git, а затем Resolve conflicts…. Выберите файл, конфликты которого вы хотите разрешить, и нажмите Merge. Вы увидите следующее открытое окно:
В левой колонке вы увидите свои изменения. Справа — изменения, внесенные вашим товарищем по команде. Наконец, в средней колонке вы увидите результат. Конфликтующие строки подсвечиваются и вы можете видеть маленькие X and >>/<< рядом с этими строками. Нажмите стрелки для того, чтобы принять изменения, а X, что бы отклонить. После того, как вы разрулите все эти конфликты, нажмите кнопку Apply:
В приведенной выше картинке в первой противоречивой строке автор отказался от своих изменений и принял изменения своих товарищей по команде. А во второй строке наоборот, автор принял свои собственные изменения и отклонил изменения своих партнеров по команде.
При интеграции с системами управления версиями в PyCharm есть гораздо больше возможностей, чем здесь показано. Более подробную информацию можно получить в этой документации.
В PyCharm вы найдёте почти все, что нужно для разработки. Если чего‑то нет, то, скорее всего, есть плагин, реализующий ту функциональность, которая вам нужна. Например, с помощью плагинов можно:
- Добавить поддержку для различных языков и структур;
- Увеличить свою пропродуктивность, используя быстрые подсказки, средства просмотра файлов и т.д.;
- Выучить новый язык программирования с помощью упражнений по кодированию
Например, IdeaVim добавит иммитацию Vimએ в ваш PyCharm. Ну, если вам нравится Vimએ, почему-бы это не сделать.
Измените тему своего PyCharm на Material Theme UI и посмотрите, как это выглядит:
Vue.js добавляет поддержку проектов Vue.jsએ. Markdownએ предоставляет возможность редактировать файлы Markdown в среде IDE и просматривать HTML‑код в режиме предварительного просмотра в браузере. Вы можете найти и установить все доступные плагины, выбрав Preferences → Plugins на Mac или Settings → Plugins на Windows или Linux на вкладке Marketplace, но это уже за деньги:
Если вы ничего не нашли, то можете разработать свой плагин.
Если вы не можете найти нужный плагин и не хотите разрабатывать свой собственный, потому что в PyPI уже есть пакет, то его можно добавить в PyCharm в качестве внешнего инструмента. Так, например, анализатор кода Flake8
.
Сначала установите flake8
в своей virtualenv, используя pip install flake8
в терминале приложения. Так же успешно можно использовать пакет интегрированный в PyCharm:
Далее пройдите в меню Preferences → Tools на Mac или Settings → Tools для Windows/Linux и выберите External Tools. Щёлкните на маленькую кнопку + (1). В новом всплывающем окне вставьте детали, как показано ниже, и нажмите ОК для обоих окон:
Здесь Program (2) относится к исполняемому файлу Flake8, который находится в папке /bin вашей виртуальной среды. Arguments (3) указывают, какой файл вы хотите проанализировать с помощью Flake8. Working directory — рабочий каталог вашего проекта.
Здесь можно жестко указать абсолютные пути для всего, но это будет означать, что вы не сможете использовать этот внешний инструмент в других проектах. Вы сможете использовать его только внутри одного проекта для одного файла.
Обратите свой взор на то, что называется Макрос. Макросы позволяют задавать значения переменным в формате $name$
, которые могут меняться в зависимости от вашего контекста. Например, $FileName$
— это first.py
, когда вы редактируете first.py
, а когда вы редактируете second.py
, то это second.py
. Вы можете просмотреть их список и вставить любой из них, нажав на кнопки Insert Macro…. Поскольку здесь вы использовали макросы, значения будут меняться в зависимости от проекта, над которым вы сейчас работаете, и Flake8 продолжит правильно выполнять свою работу.
Чтобы это понять, создайте файл example.py
и запишите туда следующий код:
CONSTANT_VAR = 1 def add(a, b): c = "hello" return a + b
То, что написано, немного не по правилам Flake8. Нажмите правую кнопку ыша на поле редактирования этого файла. Выберите External Tools и Flake8. Вуа‑ля! Результат анализа Flake8 можно посмотреть внизу:
Для ускорения работы с внешними инструментами можно добавить клавиши быстрого доступа. Перейдём к Preferences на Mac или к Settings на Windows или Linux. Затем Keymap → External Tools → External Tools. Дважды щёлкните на Flake8 и выберите Add Keyboard Shortcut. Посмотрите сюда:
На картинке выше показано, как назначены клавиши быстрого доступа Ctrl+Alt+A для загрузки этого инструмента. Добавьте свои клавиши быстрого доступа в текстовое поле и нажмите OK для обоих окон. Теперь вы можете использовать эти клавиши для загрузки Flake8 и анализа файла, над которым сейчас работаете.
Возможности профессиональной версии PyCharm
PyCharm Professional — это платная версия PyCharm с огромным количеством готовых функций и возможностей интеграции. В этом разделе, в основном, будет представлен обзор главных функций и ссылки на официальную документацию, где каждая функция подробно обсуждается. Помните, что ни одна из следующих функций не доступна в версии Community.
Поддержка Django
PyCharm поддерживает Django, один из самых популярных и любимых веб‑фреймворков Python. Что бы убедиться в его доступности проделайте следующее:
- Откройте Preferences на Mac или Settings на Windows или Linux.
- Выберите Languages and Frameworks.
- Выберите Django.
- Проверьте установлена ли галочка на Enable Django support?Если нет, установите.
- Примените изменения.
Теперь, когда вы включили поддержку Django, ваше путешествие при разработке с Django станет наиболее приятным с PyCharm:
- При создании проекта у вас будет выбран тип проекта Django. И это означает, что в проекте такого типа у вас будут все необходимые файлы и настройки. Это эквивалентно использованию
django-admin startproject mysite
. - Вы можете загрузить
manage.py
непосредственно из PyCharm. - Поддержка в шаблоне Django включает:
- синтаксис и подсветку ошибок.
- Автозавершение кода.
- Навигацию.
- Завершение имен блоков.
- Завершение пользовательских тегов и фильтров.
- Быстрый доступ к документации по тегам и фильтрам.
- Возможность их отладки.
- Автоавершение кода во всех других частях Django, таких как представления, URL‑адреса и модели, а также поддержка анализа кода для Django ORM.
- Диаграммы зависимостей для моделей Django.
Более подробная информация о поддержке Django смотрите в официальной документации.
Поддержка баз данных
Современная разработка баз данных — сложная задача со множеством вспомогательных систем и рабочих процессов. Вот почему JetBrains, компания, стоящая за PyCharm, разработала для этого отдельную IDE DataGrip. Это отдельный продукт от PyCharm с отдельной лицензией.
К счастью, PyCharm поддерживает все функции, доступные в DataGrip через плагин Database tools and SQL, который включен по умолчанию. С его помощью можно запрашивать, создавать и управлять базами данных независимо от того, работают ли они локально, на сервере или в облаке. Плагин поддерживает MySQL, PostgreSQL, Microsoft SQL Server, SQLite, MariaDB, Oracle, Apache Cassandra и другие. Для получения дополнительной информации о том, что вы можете сделать с этим плагином, посмотрите полную документацию по поддержке баз данных.
Визуализация параллельных потоков
Django Channels, asyncio и последние фреймворки, такие как Starlette являются примерами растущей популярности асинхронного программирования на Python. Несмотря на то, что асинхронные программы действительно приносят много пользы, известно, что их довольно сложно писать и отлаживать. В таких случаях визуализация параллельных потоков может быть именно тем, что доктор прописал. Она помогает полностью контролировать свои многопоточные приложения и оптимизировать их.
Проверьте подробную документацию этой функции для получения более подробной информации.
Более подробная информация содержится в подробной документации об этой функции.
Профилировщик
Говоря об оптимизации, профилирование — это еще один метод, который можно использовать для оптимизации кода. С его помощью можно увидеть, какие части кода занимают большую часть времени при выполнении. Профилировщик расставляет следующие приоритеты:
- vmprof
- yappi
- cProfile
Если у вас не установлен vmprof
или yappi
, просто вернитесь к стандартному cProfile
. Он хорошо документирован и здесь я не буду пересказывать эту документацию.
Режим научной разработки
Python — это язык не только для общего и веб‑программирования. За последние годы он стал лучшим инструментом для науки о данных и машинного обучения. Своей популярностью он обязан своим инструментам и библиотекам, таким как NumPy, SciPy, scikit-learn, Matplotlib, Jupyter и другим. При наличии таких мощных библиотек необходима мощная IDE для поддержки всех функций, таких как построение графиков и анализ этих библиотек. PyCharm предоставляет все, что нужно, исчерпывющая документация здесь.
Удалённая разработка
Одним из распространенных источников ошибок во многих приложениях является то, что среды разработки и эксплуатации не совпадают. Хотя, в большинстве случаев, для разработки невозможно предоставить точную копию среды эксплуатации, стремление к этому является достойной целью.
С помощью PyCharm можно отлаживать свои приложение, используя интерпретатор с другого компьютера, например, на виртуальной машине Linux. В результате вы можете использовать тот же интерпретатор, что и ваша рабочая среда. Это позволяет исправлять и избегать многих ошибок. Прочитайте об этом в официальной документации.
Заключение
PyCharm — одна из лучших, если не самая лучшая, полнофункциональная, специализированная и универсальная IDE для разработки на Python. Он обладает массой возможностей, которые экономят время, помогая вам с рутинными задачами. Теперь вы знаете, как быть ним продуктивным!
Здесь вы узнали о многом, в том числе:
- Как установить PyCharm;
- Как записать код в PyCharm;
- Как загрузить код в PyCharm;
- Отладка и тестирование кода в PyCharm;
- Как изменить существующий проект в PyCharm;
- Поиск и навигация в PyCharm;
- Контроль версий в PyCharm;
- Плагины и внешние инструменты в PyCharm;
- Использование возможностей профессиональной версии PyCharm, таких как поддержка Django и режима научной разработки.;
Если Вы хотите что-то спросить или поделиться своими замечаниями пишите в комментарии ниже. Для более детального знакомства с документацией перейдите на сайт PyCharm.
Оригинал: PyCharm — эффективная разработка на PythonР