Если вы только начинаете изучать программирование на Python, вам может быть трудно управлять несколькими версиями Python на вашем компьютере. В этом вам поможет PyENV. PyENV — это удобный инструмент, позволяющий легко переключаться между различными версиями Python. Будь то старый проект, требующий Python 2.7, или новый, нуждающийся в Python 3.12, PyENV сделает вашу работу значительно проще.
В данном руководстве мы расскажем, как установить и настроить PyENV на Ubuntu. Не переживайте, если у вас не так много знаний о Linux или Python. Мы объясним все простым и доступным языком, чтобы вам было легко следовать инструкциям. К концу данного руководства вы сможете установить любую нужную вам версию Python и без проблем переключаться между ними.
Для начала, вам нужно будет установить некоторые зависимости. Откройте терминал и выполните следующие команды:
sudo apt update
sudo apt install -y build-essential libssl-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libffi-dev zlib1g-dev python3-openssl git
После установки зависимостей, вы можете установить PyENV. Для этого выполните следующие команды:
curl https://pyenv.run | bash
Это установит PyENV и все его компоненты. Чтобы активировать PyENV, добавьте следующие строки в ваш файл конфигурации оболочки (обычно это ~/.bashrc или ~/.zshrc):
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
Не забудьте перезапустить терминал или выполнить source ~/.bashrc (или source ~/.zshrc), чтобы изменения вступили в силу.
Теперь вы можете устанавливать различные версии Python с помощью команды:
pyenv install <версия>
Например, для установки Python 3.9.1, выполните:
pyenv install 3.9.1
Чтобы переключиться на установленную версию Python, используйте команду:
pyenv global 3.9.1
Теперь ваша система будет использовать Python 3.9.1 по умолчанию. Чтобы проверить установленную версию, выполните:
python --version
С помощью PyENV вы сможете легко управлять версиями Python, что значительно упростит работу над проектами.
Содержание статьи
Обновите вашу систему
Сначала убедитесь, что ваша система Ubuntu обновлена. Откройте терминал и выполните следующие команды:
sudo apt update sudo apt upgrade
Эти команды обновят список доступных пакетов и установят новые версии тех, которые уже установлены.
После выполнения этих команд рекомендуется перезагрузить систему, чтобы изменения вступили в силу. Для этого можно использовать команду:
sudo reboot
Также вы можете использовать команду sudo apt full-upgrade, которая не только обновляет пакеты, но и устанавливает или удаляет зависимости, если это необходимо. Это может быть полезно для более полных обновлений системы.
Чтобы удалить ненужные пакеты и освободить место на диске, воспользуйтесь командой:
sudo apt autoremove
Следите за обновлениями безопасности, их можно проверить с помощью команды:
sudo apt list --upgradable
Это поможет вам всегда держать вашу систему в актуальном состоянии и защищенной.
Установите необходимые зависимости
Для корректной работы PyENV необходимо установить некоторые зависимости. Выполните следующую команду:
sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses-dev xz-utils tk-dev libffi-dev liblzma-dev git
Эта команда установит все нужные пакеты для PyENV.
Кроме того, рекомендуется убедиться, что у вас установлена последняя версия пакета apt. Это можно сделать с помощью команды:
sudo apt update
Также, если вы планируете использовать определенные версии Python, убедитесь, что у вас есть доступ к необходимым библиотекам, таким как libgdbm-dev для поддержки базы данных GDBM или liblzma-dev для работы с LZMA-сжатием.
Если у вас возникнут проблемы с установкой, проверьте документацию PyENV на официальном сайте, чтобы получить более детальную информацию о совместимости и возможных конфликтах с другими версиями Python.
Установите PyENV
Теперь необходимо установить PyENV. Самый простой способ — воспользоваться системой контроля версий Git. Введите в терминале следующие команды:
curl https://pyenv.run | bash
Этот скрипт автоматически установит PyENV и настроит его для вас.
После установки PyENV рекомендуется добавить его в ваш файл конфигурации оболочки (например, .bashrc или .zshrc). Для этого выполните следующие команды:
echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
После этого перезапустите терминал или выполните source ~/.bashrc, чтобы применить изменения.

Теперь вы можете использовать PyENV для управления версиями Python. Для установки конкретной версии Python выполните команду:
pyenv install <версия>
Замените <версия> на желаемую версию, например, pyenv install 3.10.0. Вы также можете установить и использовать несколько версий Python одновременно, что очень удобно для разработки.
Для проверки установленных версий Python используйте команду:
pyenv versions
Это выведет список всех версий Python, которые вы установили с помощью PyENV.
Кроме того, чтобы установить версию Python в качестве глобальной (по умолчанию), выполните:
pyenv global <версия>
Это позволит вам устанавливать пакеты и запускать проекты с этой версией Python по умолчанию. Если вам нужно изменить версию для конкретного проекта, вы можете использовать:
pyenv local <версия>
Это создаст файл .python-version в текущем каталоге, который будет определять используемую версию Python для этого проекта.
Не забывайте периодически обновлять PyENV, чтобы использовать последние версии и улучшения. Для этого просто выполните:
pyenv update
Обновите конфигурацию оболочки
После того как вы установите PyENV, необходимо внести изменения в конфигурацию вашей оболочки, чтобы он загружался автоматически при каждом открытии терминала. Для этого добавьте следующие строки в файл ~/n/.bashrc:
Чтобы изменения вступили в силу, выполните команду:
source ~/.bashrc
Также, если вы используете Zsh, вам нужно внести изменения в файл ~/.zshrc аналогичным образом. Убедитесь, что вы добавили строки для инициализации PyENV:
Для этого добавьте в ~/.zshrc следующее:
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
После внесения изменений не забудьте перезагрузить конфигурацию, используя команду:
source ~/.zshrc
Теперь вы можете проверить правильность установки, выполнив команду:
pyenv versions
Это должно показать список доступных версий Python, установленных через PyENV.
Установка версий Python
Теперь, когда PyENV настроен, вы можете установить любую нужную версию Python. Например, для установки Python 3.12 выполните:
pyenv install 3.12
Если вам необходимо установить более раннюю версию, такую как Python 2.7, введите:
pyenv install 2.7
Чтобы увидеть список всех доступных версий Python, которые вы можете установить, используйте:
pyenv install --list
Также не забудьте, что после установки нужной версии, вы можете установить её как глобальную или локальную. Для установки версии Python как глобальной используйте:
pyenv global 3.12
Для установки версии как локальной (только для текущего проекта), выполните:
pyenv local 3.12
Проверьте, что нужная версия Python активна, с помощью команды:
python --version
Это поможет убедиться, что вы используете именно ту версию, которую планировали. Если у вас возникнут проблемы с установкой, убедитесь, что все зависимости для сборки Python установлены. В зависимости от операционной системы могут потребоваться такие пакеты, как build-essential, libssl-dev, libbz2-dev, libreadline-dev, libsqlite3-dev и другие.
Также полезно знать, что после установки новой версии Python вы можете установить и соответствующие версии пакетов с помощью pip. Рекомендуется использовать виртуальные окружения (например, venv или virtualenv), чтобы управлять зависимостями для разных проектов. Для создания виртуального окружения выполните:
python -m venv myenv
Затем активируйте его с помощью:
source myenv/bin/activate (на Linux/Mac) или myenv\Scripts\activate (на Windows).
Это позволит вам изолировать зависимости вашего проекта от глобальных установок Python, что особенно полезно при работе с различными проектами.
Установка глобальной версии Python
Вы можете установить глобальную версию Python, которая будет использоваться по умолчанию. Для установки Python 3.12 в качестве глобальной версии выполните:
pyenv global 3.12
Чтобы проверить текущую глобальную версию Python, используйте:
pyenv version

Поздравляю! Вы успешно установили и настроили PyENV на своей системе Ubuntu. Теперь у вас есть возможность удобно управлять несколькими версиями Python и переключаться между ними по мере необходимости. Это значительно повысит гибкость и эффективность вашей разработки на Python. Если возникнут какие-либо трудности, обязательно обратитесь к документации PyENV и сообществу за поддержкой.
Дополнительно, чтобы избежать конфликтов между проектами, рекомендуется использовать виртуальные окружения. Вы можете создать новое окружение с помощью следующей команды:
pyenv virtualenv 3.12 myenv
Для активации созданного окружения используйте:
pyenv activate myenv
Чтобы деактивировать окружение, выполните:
pyenv deactivate
Также не забывайте обновлять pyenv и доступные версии Python, чтобы использовать самые последние обновления и исправления. Для этого выполните:
pyenv update
Это поможет вам оставаться в курсе новых возможностей и улучшений, предлагаемых в новых версиях Python.
Устранение распространенных ошибок
При работе с инструментами управления версиями нередко возникают трудности, которые могут привести к сбоям в процессе. Важно знать, как быстро распознать и устранить основные проблемы, чтобы избежать задержек в работе.
- Ошибка при установке зависимостей: Часто причиной могут быть отсутствующие пакеты. Убедитесь, что установлены необходимые библиотеки, такие как build-essential и libssl-dev.
- Конфликты с версиями: Проверьте, не конфликтуют ли версии интерпретаторов. Используйте команду для проверки активной версии и при необходимости удалите ненужные.
- Проблемы с окружением: Если изменения не вступают в силу, убедитесь, что переменные среды корректно настроены. Перезапустите терминал или выполните source ~/.bashrc.
Следуя этим рекомендациям, можно быстро решить большинство проблем и продолжить работу без лишних задержек.

