Способы запуска Python 2: от pyenv до контейнеризации

Раздел: Инструменты -> Настройка окружения

Обзор методов запуска Python 2

Как обеспечить переключение между версиями Python и запуск Python 2?

Pyenv – инструмент для управления версиями Python на уровне пользователя.

Установка pyenv (Linux/macOS):

curl https://pyenv.run | bash

Python настройки приложения (настройки приложения на python)

Добавить в ~/.bashrc:

export PATH="$HOME/.pyenv/bin:$PATH"\neval "$(pyenv init -)"\neval "$(pyenv virtualenv-init -)"

Python переменные окружения (переменные окружения в python)

Установка Python 2.7.18:

pyenv install 2.7.18

Path python (путь к python)

Создание виртуального окружения с Python 2:

pyenv virtualenv 2.7.18 myproject2

Python environment path (путь к окружению python)

Активация:

pyenv activate myproject2

Python windows paths (работа с путями в python на windows)

Проверка версии:

python --version

Python файлы настроек (файлы конфигурации в python)

Проблема: pyenv: python2.7.18 not installed – если версия не найдена. Решение: сначала выполнить pyenv install --list для проверки доступных версий.

Ошибка: bash: pyenv: command not found – не добавлен PATH. Проверить экспорт в .bashrc.

Как быстро запустить Python 2 без дополнительных инструментов?

Установка через apt (Debian/Ubuntu):

sudo apt update\nsudo apt install python2

Open python 2 (запуск python 2)

Или yum (CentOS/RHEL):

sudo yum install python2

Python online interpreter (онлайн интерпретатор python)

Проверка:

python2 --version

Using python pip (установка пакетов через pip в python)

Проблема: пакет может называться python2.7 или отсутствовать в репозитории. Решение: использовать apt search python2 для поиска.

На современных дистрибутивах Python 2 может быть удалён из репозиториев. Альтернатива – собрать из исходников или использовать pyenv.

Как изолировать Python 2 и его зависимости от основной системы?

Использование официального образа Python 2:

docker run -it --rm python:2.7-slim python

Python interpreter (интерпретатор python)

Для запуска скрипта:

docker run -v $(pwd):/app -w /app python:2.7-slim python script.py

Python добавить путь (добавление пути в sys.path в python)

Создание Dockerfile:

FROM python:2.7-slim\nCOPY script.py .\nCMD ["python", "script.py"]

Проблема: образ может отсутствовать локально – первая загрузка занимает время.

Ошибка: docker: command not found – Docker не установлен.

Как создать изолированное окружение для проекта на Python 2?

Предположим, Python 2 установлен как python2. Установка virtualenv:

pip2 install virtualenv

Создание окружения:

virtualenv -p /usr/bin/python2 myenv

Активация:

source myenv/bin/activate

Проверка:

python --version

Проблема: pip2 может отсутствовать. Установить через sudo apt install python-pip (для Python 2).

Ошибка: virtualenv: command not found – не установлен в PATH. Установить через pip.

Как управлять несколькими версиями Python с помощью conda?

Установка Anaconda или Miniconda. Создание среды с Python 2.7:

conda create -n py27 python=2.7

Активация:

conda activate py27

Проверка:

python --version

Проблема: conda: command not found – не добавлен в PATH. Перезапустить терминал или добавить вручную.

Ошибка: при создании среды может требоваться подключение к интернету для загрузки пакетов.

Расширенные примеры работы с Python 2

1. Pyenv: управление версиями и пакетами

Пример
# Установка Python 2.7.18 и 3.8.10
pyenv install 2.7.18
pyenv install 3.8.10
# Глобальная версия
pyenv global 2.7.18
python --version # Python 2.7.18
# Локальная версия для проекта
cd myproject
pyenv local 3.8.10
python --version # Python 3.8.10
# Установка пакетов для Python 2
pyenv shell 2.7.18
pip install requests==2.25.0
Python 2.7.18
Python 3.8.10
Successfully installed requests-2.25.0

2. Docker: образ с зависимостями

Пример
# Dockerfile
FROM python:2.7-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt --no-cache-dir
COPY . .
CMD ["python", "main.py"]
Пример
# requirements.txt
numpy==1.16.6
scipy==1.2.3
Пример
# Сборка образа
docker build -t py2-app .
# Запуск
docker run -it --rm py2-app
(вывод программы main.py)

3. Virtualenv: изоляция окружения

Пример
# Предположим python2 установлен в /usr/bin/python2
virtualenv -p /usr/bin/python2 venv
source venv/bin/activate
# Установка пакета
pip install six
# Деактивация
deactivate
# Проверка, что пакет не виден вне окружения
python -c "import six"  # Ошибка ModuleNotFoundError
(успешная установка)
(после деактивации: ModuleNotFoundError: No module named six)

4. Conda: экспорт и воссоздание среды

Пример
# Создание среды
conda create -n py27 python=2.7 numpy=1.16
# Экспорт
conda env export > environment.yml
# Воссоздание
conda env create -f environment.yml
# environment.yml содержит зависимости

Запуск Python 2 - comments

En
Open python 2 (python)