Установка, настройка и использование инструмента виртуальной среды pyenv, идеальный контроль над версией Python

Python

предисловие

использовать python для разработки,Unix/LinuxОкружение будет более дружелюбным, и не будет необъяснимых ошибок.Хотя магазин Windows также выпустил подсистему Ubuntu, функции не завершены, и система не идеальна. В этой статье подробно рассказывается, как установить и использовать pyenv в Ubuntu, Archlinux, Centos и Mac. Чтобы узнать, как использовать pyenv под Windows, перейдите по исходному адресу pyenv-win для просмотра:GitHub.com/Piegirl-win/Боюсь…, и, конечно же, pyenv также доступен в подсистеме Linux в магазине Windows.


задний план

Существует много версий Python, и разница между 2 и 3 относительно велика.Если вам нужна другая среда, выберите использование докера.Учебник по докеру можно найти в учебнике для новичков.

ууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууу.com/docker/dock…

Вы также можете найти соответствующие документы на официальном сайте

www.docker.com/

Если вы используете докер, вам не нужна изолированная среда.Если вы хотите запустить его непосредственно на сервере, у вас должна быть изолированная среда. В этой статье будет рассказано об использовании pyenv для создания виртуальных сред для разных версий Python.


использовать

Идеальная изоляция версий Python под Linux с помощью pyenv и pyenv-virtualenv

Глава 1: Использование среды

Уведомление:Эта статья выполняется под Linux и Mac OS X и не предполагает установку и использование под Windows.

список

  • git
  • bash, zsh или варить
  • pyenv
  • pyenv-virtualenv

1. Установите git

Установить git под основные дистрибутивы Linux очень просто, здесь показаны только некоторые примеры

  • archlinux sudo pacman -S git
  • debian/ubuntu sudo apt install git
  • centos sudo yum install git
  • Mac brew install git

2. Откройте терминал

Использование оболочки под Ubuntu

Ctrl + Alt + tГорячая клавиша для открытия терминала

3. Установите пиенв

проиллюстрировать:Все установки в этой статье строго следуют официальной документации и полностью соответствуют официальной документации.

Адрес исходного кода git:github.com/pyenv/pyenv

Выполните следующую команду в терминале, чтобы завершить установку:

Сначала клонируйте проект и поместите его в скрытую папку в домашнем каталоге: .pyenv.

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

Если вы являетесь пользователем Mac, вы можете использовать команду brew для установки

brew update
brew install pyenv

Затем настройте переменные среды:

  • Если вы используете bash, последовательно выполните следующие команды:
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc

echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bashrc
  • Если вы используете zsh, последовательно выполните следующие команды:
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc

echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc
  • Если вы используете Mac, выполните следующую команду:
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init-)"\nfi' >> ~/.bash_profile

Смысл команды echo: записать содержимое в кавычках в файл

Обратите внимание, что последняя команда из трех приведенных выше эхо-команд, убедитесь, что содержимое в кавычках находится внизу ~/.bashrc или ~/.zshrc.

Непредсказуемое поведение из-за манипулирования переменной среды пути во время инициализации pyenv.

Для просмотра нижнего содержимого файла вы можете использовать команду tail, использование: tail ~/.bashrc или tail ~/.zshrc, для редактирования файла вы можете использовать vim или vscode

Затем перед использованием pyenv вам необходимо инициализировать среду оболочки и выполнить следующую команду

exec $SHELLилиsource ~/.bashrc

Также можно закрыть текущее окно терминала и перезапустить его.

4. Установите pyenv-virtualenv

Адрес исходного кода git:GitHub.com/Piegirl/Piegirl…

Клонируйте плагин в папку плагинов только что установленного pyenv.

git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv

Если вы являетесь пользователем Mac, вы можете использовать команду brew для установки

brew install pyenv-virtualenv

Затем настройте переменные среды

eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
  • Если вы используете bash, выполните следующую команду:

echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc

  • Если вы используете zsh, выполните следующую команду:

echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc Наконец, перед использованием pyenv повторно инициализируйте среду оболочки и выполните следующую команду.

exec $SHELLилиsource ~/.bashrc

Или перезапустите окно терминала.

Если ошибки нет, все операции по установке на данный момент завершены.Если отображается ошибка, проверьтеПреамбула==Путь== и ==Переменные среды==(Проверьте, следует ли использовать команду, соответствующую системной среде.) настроен правильно, либо откатите операцию и повторите команду установки


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

Здесь показано только ежедневное использование pyenv и pyenv-virtualenv.

Проверьте правильность установки

  • Проверьте версию pyenv

pyenv version

  • Посмотрите, какие версии Python уже размещены на pyenv

pyenv versions

Если отображается обычная информация о версии, установка прошла успешно.command not foundтакие как подсказки, указывающие на то, что установка не удалась, пожалуйста, проверьтеконец первой главынамекать.

Установите версию Python 3.6.6.

pyenv install 3.6.6

Здесь следует отметить, что в некоторых случаях произойдет сбой установки, а также сбой сборки.

Не паникуйте, мы можем проверить план ответа, подготовленный pyenv, в вики github, исходный адресGitHub.com/Piegirl/Piegirl…

Выдержка такова, просто выполните соответствующую команду:

  • пользователь ArchLinux

sudo pacman -S base-devel openssl zlib

  • Пользователи Mac

brew install openssl readline sqlite3 xz zlib

Если вы используете OS X Mojave или выше (10.14+), вам также необходимо выполнить следующую командуsudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

  • Пользователи Ubuntu/Debian/Mint

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev

  • CentOS/Fedora

sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel

  • Fedora >= 22 пользователя, убедитесь, что установлен инструмент xz

sudo dnf install -y gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel

  • пользователи openSUSE

zypper install gcc automake openssl-devel ncurses-devel readline-devel zlib-devel tk-devel

  • Пользователи Solus

sudo eopkg it -c system.devel

sudo eopkg install git gcc make zlib-devel bzip2-devel readline-devel sqlite3-devel openssl-devel tk-devel

  • Пользователи Linuxbrew

brew install bzip2 openssl readline sqlite xz

После установки этих дополнительных инструментов снова выполните:

pyenv install 3.6.6

Это может быть успешным, вы можете продолжать использоватьpyenv versionsчтобы увидетьpyenvУправляемая версия Python, отсутствие конфликтов между несколькими версиями, идеальное сосуществование

воплощать в жизньpyenv install, затем нажмитеtabключ, вы можете увидеть все дополнительные установленные версии

Как создать виртуальную среду с уже установленной версией

Сотрудничество между pyenv и pyenv-virtualenv можно понимать следующим образом:

pyenv содержит установленную версию Python, а python-virtualenv вызывает соответствующую версию Python.

Вот как создать и использовать виртуальную среду

1. Создайте виртуальную среду

Сначала вам нужно создать виртуальную среду и выполнить команду:

pyenv virtualenv 3.6.6 my-env

Последнее — это имя окружения, которое можно выбрать произвольно. Успешная установка отобразит:

Looking in links: /tmp/tmp0eywgc7v
Requirement already satisfied: setuptools in /home/vic/.pyenv/versions/3.6.6/envs/my-env/lib/python3.6/site-packages (39.0.1)
Requirement already satisfied: pip in /home/vic/.pyenv/versions/3.6.6/envs/my-env/lib/python3.6/site-packages (10.0.1)

Он указывает абсолютный путь к виртуальной среде.

2. Активируйте виртуальную среду

В любом каталоге выполните команду:

pyenv activate my-env

Перед командной строкой терминала будет(my-env)Если вы войдете в среду python, вы увидите версию 3.6.6, установленную для виртуальной среды, используйтеpip --version, вы можете увидеть абсолютный путь установки пакета pip

Используйте терминал для входа в любой каталог, например~/envtest

cd ~/envtest

Затем выполните в этом каталоге:

pyenv local my-env

Вы также можете активировать созданную виртуальную среду и выполнить:

ls -al

Разница между локальной командой и предыдущей командой заключается в том, что в каталоге ~/envtest будет создан скрытый файл .python-version.Содержимое файла содержит только предложение my-env.Пока вы используете терминал чтобы войти в каталог ~/test, виртуальный файл будет автоматически активирован.

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

pyenv deactivate  # 或者
source deactivate

3. Удалите виртуальную среду

Со временем у вас может накопиться много виртуальных сред, для удаления виртуальных сред можно использовать команду

pyenv uninstall my-envилиrm -rf my-envНепосредственно удалите каталог, в котором находится виртуальная среда.


Глава 3: Обновление pyenv

при использованииgitКлонировать, обновить с помощью команды git pull

cd ~/.pyenvилиcd $(pyenv root)

git pull origin master

Пользователи Mac используют команду brew

brew upgrade pyenv


Глава 4: Удаление pyenv

Поскольку pyenv помещает все в папку ~/.pyenv, удаление под Linux разделено на два этапа.

  1. удалить переменную окружения

  2. воплощать в жизнь:rm -rf ~/.pyenvилиrm -rf $(pyenv root)

Пользователям Mac необходимо использовать команду brew для удаления:

brew uninstall pyenv






PS

Эта статья ссылается на официальную документацию и в нее внесены изменения, документацию можно найти в исходном коде по адресу github.

пьенв:github.com/pyenv/pyenv
pyenv-virtualenv:GitHub.com/Piegirl/Piegirl…