Современная разработка на Python часто требует использования различных версий интерпретатора на одном компьютере. Одни библиотеки или фреймворки могут быть несовместимы с новыми версиями Python, в то время как другие уже требуют обновленного интерпретатора. В этой статье мы рассмотрим несколько методов, которые помогут вам установить и управлять несколькими версиями Python.
Почему стоит использовать несколько версий Python?
Для каждого проекта может понадобиться своя версия Python и это особенно очевидно в следующих ситуациях:
- Проекты с разными требуемыми версиями Python: Например, проект на Django может требовать Python 3.8, тогда как microservice проект может использовать новейшую 3.10.
- Совместимость библиотек: Часто распространенная проблема — обновление библиотеки, которая требует новой версии Python, тогда как другие библиотеки не поддерживают эту новую версию.
- Фреймворки и инструменты: Некоторые фреймворки медленно обновляются к последним версиям Python, что приводит к необходимости держать несколько версий параллельно.
Методы установки нескольких интерпретаторов Python
Использование pyenv
pyenv — это инструмент для управления версиями Python, который позволяет легко переключаться между различными версиями интерпретатора.
Инструкция по установке и настройке pyenv
-
Установите зависимости для сборки Python:
sudo apt update; sudo apt install -y make build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \ xz-utils tk-dev libffi-dev liblzma-dev python-openssl git -
Установите
pyenv:curl https://pyenv.run | bash -
Добавьте
pyenvв свой~/.bashrc:export PATH="$HOME/.pyenv/bin:$PATH" eval "$(pyenv init --path)" eval "$(pyenv init -)" -
Перезапустите терминал или выполните
source ~/.bashrc.
Пример использования pyenv для установки нескольких версий Python
С pyenv можно легко установить и управлять различными версиями Python:
pyenv install 3.9.7
pyenv install 3.10.0
pyenv global 3.10.0 # Установка версии по умолчанию
Установка с помощью Anaconda
Anaconda — это дистрибуция Python, включающая в себя множество библиотек дата-анализа и научных вычислений. Она также включает средство управления окружениями conda.
Шаги по установке Anaconda и созданию различных окружений
-
Установите Anaconda, загрузив установочный скрипт с их официального сайта:
Рекламаbash Anaconda3-2022.05-Linux-x86_64.sh -
Создайте новое окружение с определенной версией Python:
conda create -n myenv python=3.8
Советы по работе с conda
-
Активируйте окружение:
conda activate myenv -
Деактивируйте окружение:
conda deactivate
Изоляция с помощью виртуальных окружений
Виртуальные окружения позволяют изолировать зависимости, что особенно полезно для различных проектов.
Инструкция по созданию и активации виртуального окружения с помощью venv
-
Создайте виртуальное окружение:
python3.9 -m venv myenv -
Активируйте виртуальное окружение:
source myenv/bin/activate
Когда использовать venv:
- Если проекты требуют разных наборов зависимостей.
- Нет необходимости управлять версиями интерпретаторов, только пакетами.
Работа с библиотеками и зависимостями
Особенно важно управлять зависимостями в проектах с несколькими версиями Python. Для этого есть несколько удобных инструментов:
- pip: Классический инструмент для установки пакетов.
- pipenv: Объединяет управление зависимостями и виртуальными окружениями.
- poetry: Современный инструмент для управления зависимостями и создания пакетов.
Пример файла requirements.txt
Создайте файл requirements.txt и включите туда нужные библиотеки:
numpy==1.21.0
pandas==1.3.1
Установите зависимости:
pip install -r requirements.txt
Проверка установки и работа с интерпретаторами
Чтобы проверить установленные версии Python и переключаться между ними, выполните:
python3.9 --version
python3.10 --version
В IDE, таких как PyCharm или VS Code, можно легко переключаться между интерпретаторами в настройках проекта.
Заключение
Использование нескольких версий Python на одном компьютере позволяет гибко подходить к разработке и решению compatibility issues. В этой статье мы рассмотрели различные методы управления версиями Python: pyenv, Anaconda и виртуальные окружения. Поддерживайте свою среду разработки в актуальном состоянии, чтобы работа с проектами была максимально комфортной и эффективной.