Купить Корзина
  • Облако и IT-инфраструктура
  • Домены и сайты
  • Вход
Получить консультацию

Ответим на вопросы, расскажем о конфигурациях, поможем с переносом, подберем оборудование, подготовим коммерческое предложение

Нажимая кнопку «Отправить» я даю согласие на обработку персональных данных и подтверждаю, что ознакомился с Политикой конфиденциальности

Персональный менеджер ответит на ваши вопросы и проведет через все этапы заключения договора: — подберет оборудование — сформирует коммерческое предложение — поможет с миграцией сервера к нам

Нажимая кнопку «Отправить» я даю согласие на обработку персональных данных и подтверждаю, что ознакомился с Политикой конфиденциальности

Или просто оставьте номер телефона, и мы перезвоним вам

  • Телефон в Москве

    +7 495 580-11-11
  • Бесплатный звонок по России

    8 800 555-34-78
  • Или обратитесь в наши офисы

    Региональные номера
    1. Документация
    2. Рег.облако
    3. Облачные серверы
    4. Установка программного обеспечения
    5. Как работать с разными версиями Python на сервере

    Как работать с разными версиями Python на сервере

    Системные инструменты в Ubuntu зависят от нативной версии Python. При попытке обновить или изменить системный Python через apt можно случайно удалить критически важные пакеты, что приведет к потере доступа к серверу.

    Чтобы безопасно работать с разными версиями Python, используйте инструменты, которые не изменяют системную версию. Например, pyenv — инструмент для изолированной установки и управления множеством версий Python без модификации системной версии.

    Установка pyenv

    Шаг 1. Установка зависимостей

    Перед установкой pyenv необходимо установить системные библиотеки и инструменты сборки. Воспользуйтесь одной из команд ниже.

    Для Ubuntu/Debian:

    # Обновляем информацию о пакетах и устанавливаем инструменты для сборки
    
    sudo apt update
    
    # Устанавливаем зависимости, необходимые для компиляции Python
    
    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 python3-openssl git

    Для CentOS/RHEL 8+:

    # Включаем репозиторий EPEL для дополнительных пакетов
    
    sudo dnf install epel-release
    
    # Устанавливаем зависимости для сборки
    
    sudo dnf install -y gcc zlib-devel bzip2 bzip2-devel readline-devel \
    sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel \
    git wget curl make

    Шаг 2. Установка pyenv

    Для автоматической установки воспользуйтесь командой:

    curl https://pyenv.run | bash

    Шаг 3. Настройка shell для pyenv

    Добавьте в конфигурацию shell (~/.bashrc, ~/.zshrc или аналогичный) следующие строки в конце файла:

    export PYENV_ROOT="$HOME/.pyenv"
    export PATH="$PYENV_ROOT/bin:$PATH"
    eval "$(pyenv init --path)"
    eval "$(pyenv init -)"
    # Если планируете использовать виртуальные окружения:
    eval "$(pyenv virtualenv-init -)"

    Примените изменения:

    exec "$SHELL"

    Шаг 4. Проверка установки

    Проверьте установку с помощью команды pyenv --version.

    Если терминал возвращает номер версии — установка прошла успешно.

    Использование pyenv

    Чтобы увидеть доступные версии Python, введите команду pyenv install --list.

    Для установки конкретной версии Python используйте команду pyenv install <версия>.

    Увидеть установленные версии можно с помощью команды pyenv versions.

    Чтобы назначить определенную версию Python глобально (для всей системы в рамках пользователя), воспользуйтесь командой pyenv global <версия>.

    Обратите внимание

    Рекомендуем менять глобальную версию только если вы уверены, что это не затронет системные утилиты.

    Чтобы назначить версию Python только для конкретного проекта, перейдите в каталог проекта и создайте локальный файл конфигурации:

    cd путь/к/проекту
    pyenv local <версия>

    Чтобы убедиться, что для проекта назначена локальная версия, выполните:

    pyenv version

    Работа с виртуальными средами через pyenv-virtualenv

    Чтобы управлять виртуальными средами через pyenv, установите плагин pyenv-virtualenv.

    Шаг 1. Установка плагина

    Клонируйте плагин:

    git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

    После этого примените конфигурацию shell:

    source ~/.bashrc

    Шаг 2. Создание виртуальной среды

    Чтобы создать виртуальную среду под конкретную версию Python, воспользуйтесь командой:

    pyenv virtualenv <версия> <имя_окружения>

    Или создайте среду в отдельной директории проекта:

    mkdir ~/python_projects/project1
    cd ~/python_projects/project1
    pyenv virtualenv 3.11.5 venv_project1

    Шаг 3. Просмотр виртуальных сред

    Чтобы увидеть список всех доступных версий Python и виртуальных окружений:

    pyenv versions

    Список включает установленные интерпретаторы и окружения, отмеченные префиксом * при активном выборе.

    Активация и деактивация виртуальной среды

    Чтобы активировать виртуальную среду, используйте команду:

    pyenv activate venv_project1

    Если при первом запуске появится предупреждение pyenv-virtualenv: prompt changing will be removed from future release, добавьте в ~/.bashrc строку:

    export PYENV_VIRTUALENV_DISABLE_PROMPT=1

    Затем примените изменения:

    source ~/.bashrc

    Чтобы деактивировать активную виртуальную среду, используйте команду pyenv deactivate.

    Полезные команды pyenv

    Чтобы вывести список всех доступных команд pyenv, используйте:

    pyenv commands

    Чтобы обновить список доступных версий Python:

    pyenv update

    Чтобы удалить установленную версию:

    pyenv uninstall <версия>

    Рекомендации по безопасной работе

    • Не изменяйте системную версию Python (/usr/bin/python*).

    • Не используйте update-alternatives для Python — это нарушает работу системных утилит.

    • Для каждого проекта используйте pyenv local или отдельные виртуальные среды.

    Специальные предложения
    • Гранты для бизнеса до 500к
    • Скидки на cloud GPU до 50%
    • Скидки на bare-metal с А4000 и А5000
    • Кешбэк 100% на kubernetes
    Рассылка Рег.облака

    Лайфхаки, скидки и новости об IT

    Даю согласие на получение рекламных и информационных материалов

    Продукты и сервисы
    • Облачные серверы
    • Выделенные серверы
    • Базы данных
    • S3 хранилище
    • Кластеры Kubernetes
    • Cloud GPU
    • VPS
    Решения
    • Интернет-магазин в облаке
    • Разработка и тестирование в облаке
    • Удаленный рабочий стол
    • Работа с 1С
    • Корпоративное хранение данных
    • Искусственный интеллект и машинное обучение в облаке
    • Конфигуратор сервера
    • Администрирование серверов
    Техподдержка
    • Создать тикет
    • Документация
    Прочее
    • О компании
    • Партнерская программа
    • Гранты
    • Блог
    • Контакты
    • Отзывы клиентов
    • © ООО «РЕГ.РУ» Нашли опечатку?
      Выделите и нажмите Ctrl+Enter
    • Облачная платформа Рег.ру включена в реестр российского ПО Запись №23682 от 29.08.2024
      • Политика конфиденциальности
      • Политика обработки персональных данных
      • Правила применения рекомендательных технологий
    • 8 800 333-92-23

      Бесплатный звонок по России

      +7 (495) 009‑92‑22

      Телефон в Москве

      • vk
      • telegram
      • moikrug
    • Мы используем cookie и рекомендательные технологии для персонализации сервисов и удобства пользователей. Вы можете запретить сохранение cookie в настройках своего браузера