Синергия сред для работы с одним проектом на Python
Как я не раз упоминал, для работы с Python зачастую приходится использовать более одной среды разработки. Здесь я расскажу, как корректно организовать совместную работу двух крутых инструментов - PyCharm и Spyder.
Первым делом создаем отдельную виртуальную среду для проекта, чтобы изолировать его зависимости от базовой сборки. В качестве средства для создания виртуальных сред буду использовать Anaconda (общий обзор таких инструментов делал ранее). Для этого достаточно набрать команду:
conda create --name имя_среды python=3.8
Это же можно сделать с использованием графических инструментов Anaconda (подробнее рассказывал здесь). По умолчанию виртуальная среда помещается в папку с относительным адресом anaconda3/envs.
Теперь, перейдем к созданию собственно проекта и организации совместной работы с ним PyCharm и Spyder.
Создадим проект в Spyder. Для этого нажимаем "Projects"->"New Project" и выбираем папку для него.
После, нажав "Tools"->"Preferences"->"Python Interpreter" > "Use the following interpreter", задаем путь к интерпретатору в той виртуальной среде, которую вы хотите использовать для проекта. Обычно имеет вид путь_до_среды/bin/python (из активной виртуальной среды его можно вывести, набрав: import sys; print(sys.executable)):
Следует отметить, что при отсутствии в виртуальной среде библиотеки spyder-kernels следует предварительно ее установить (для вывода списка пакетов из активного виртуального окружения можно ввести pip list, еще удобнее в Linux отфильтровать вывод: pip list | grep 'spyder-kernels').
Теперь настраиваем PyCharm для работы с тем же проектом. Жмем меню "File"->"Open" и выбираем папку с созданным в Spyder проектом:
Затем настраиваем интерпретатор. Заходим в "File"->"Settings"->"Project"->"Python Interpreter", в правом верхнем углу нажимаем на выпадающий список и выбираем "Show All":
В появившемся окне жмем add (плюсик), и в уже новом окне выбираем "Conda Environment" (меню слева), а справа жмем переключатель на "Existing environment" и в поле "Interpreter" выбираем путь до интерпретатора (аналогичный тому, как в Spyder).
На этом настройки завершаются. Теперь вы можете использовать плюсы для работы в обеих средах разработки и, если одна капризничает, использовать другую. Напомню, что с PyCharm в отличие от Spyder можно отлаживать многопоточное и многопроцессорное приложение, эта среда имеет удобный viewer объектов. К преимуществам Spyder можно отнести возможность работы в ipython с временными объектами в ходе отладки (подробнее о настройке и преимуществах этих сред читай здесь). А какими инструментами разработки предпочитаете пользоваться вы?