Связь и использование pipenv и pyenv, pyenv-virtualenv

Python

Почему управление версиями

Возьмем пример:

  1. Для проекта 1 требуется Python 2.x
  2. Второй проект будет на Python 3.x

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

Зачем нужна виртуальная версия

Как мы видели выше, управление версиями решило потребности различных проектов в версиях Python. Если на наш сервер добавляется проект, то ситуация следующая, а вдруг она решаемая?

  1. Для проекта 1 требуется Python 2.x
  2. Проект 2 собирается на python 3.x, а пакет импортированных запросов должен быть 1.x.
  3. Проект 3 переходит на python 3.x, а импортируемый пакет запросов — 2.x.

Мы видим, что проект два и проект три собираются на одну и ту же версию, но зависимые пакеты имеют разные версии, мы не можем установить разные версии одного и того же пакета на одну версию. Это может легко привести к путанице. Отсюда потребность в виртуальной среде. Виртуальная среда предназначена для создания копии нужной версии и управления зависимыми пакетами в копии, чтобы разные проекты не мешали друг другу при использовании собственных копий.

связь

  1. pyenvОн используется для управления версиями python.Например, в системе есть версия 2.x.После установки pyenv вы можете использовать pyenv для установки других версий python, чтобы система могла поддерживать несколько версий одновременно. И не влияет на версию системы.
  2. pyenv-virtualenvОн используется для создания виртуальной среды, чтобы у разных проектов была своя независимая рабочая среда, чтобы избежать взаимных помех.
  3. pipenvОн имеет две функции, одна из которых — управление зависимостями (заменяет инструмент управления PIP). Во-вторых, вы можете создать виртуальную среду (метод использования отличается от Pyenv-Virtualenv).

Проще говоря, установитьpyenv, а затем установитьpipenv. Он может удовлетворить ежедневные потребности развития. Если требования к виртуальной среде относительно высоки, вы можете установить ееpyenv-virtualenv. Их функции подробно объясняются позже. Вы можете выбрать в соответствии с реальными потребностями.

использовать стратегию

  1. Установите pyenv и pipenv, которые в основном могут удовлетворить повседневные потребности разработки.Вы можете использовать pipenv для управления пакетами зависимостей и виртуальными средами.
  2. Установите pyenv, pipenv и pyenv-virtualenv. Когда все три установлены, мы можем использовать pipenv для управления пакетами зависимостей и pyenv-virtualenv для управления виртуальными средами. pyenv взаимодействует с pyenv-virtualenv для переключения версий, что лучше, чем использование pipenv или pyenv в одиночку -virtualenv гораздо удобнее.

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

установка pyenv

pyenv не поддерживает Windows, только Mac и Linux. Официальный предоставляет скрипт установки, он очень прост в установке, он установится автоматическиpyenvиpyenv-virtualenv

  1. Выполните следующую команду, чтобы начать установку
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
  1. После завершения установки необходимо настроить переменные среды и следовать подсказкам. В общем, добавьте следующий код в ~/.bashrc
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

PENV Uninstall.

После установки pyenv в домашнем каталоге пользователя будет создан файл.pyenvпапка. Если вы хотите удалить, удалите эту папку напрямую, а затем~/.bashrc, удалите 3 строки кода, добавленные во время установки, и все готово. Удалить.pyenv

rm -rf $(pyenv root)
# 或
# rm -rf ~/.pyenv

Общие команды

  1. Управление версиями
  • pyenv versionsПросмотр существующей версии этой машины
  • pyenv install -lПосмотреть установленную версию
  • pyenv install 2.7.3Установить указанную версию
  • pyenv uninstall 2.7.3Удалить указанную версию
  1. Версия коммутатора, разделенная на 3 типа, отсортированных по приоритету: оболочка локальная глобальная
  • pyenv shell 2.7.3Установите ориентированную на оболочку версию Python, задав переменную среды текущей оболочки PYENV_VERSION. Эта версия имеет приоритет как над локальной, так и над глобальной.–unsetПараметр может использоваться для отмены версии, установленной текущей оболочкой.pyenv shell --unset.
  • pyenv local 2.7.3Установите локальную версию Python, в виде текущего номера версии записывается файл .python-version в каталоге. Python-версия этого способа установки более высокого приоритета, чем глобальная. Таким образом, каждый раз, когда вы входите в каталог, запускаете команду python script, она автоматически использует установленную версию. И не повлияет на глобальную окружающую среду
  • pyenv global 2.7.3Установите глобальную версию Python, записав номер версии в файл ~/.pyenv/version. Этот метод будет рекламировать глобальную среду, и его следует использовать с осторожностью.
  • pyenv rehashСоздайте пути прокладок (создайте прокладки для всех установленных исполняемых файлов, например: ~/.pyenv/versions//bin/, поэтому вы должны выполнять эту команду каждый раз, когда добавляете или удаляете версию Python или пакет с исполняемым файлом (например, pip)
  1. Управление виртуальной средой
  • pyenv virtualenv 2.7.10 env-2.7.10Создайте виртуальную среду.Если версия Python не указана, по умолчанию будет использоваться текущая версия Python среды. Если вы укажете версию Python, это должна быть уже установленная версия, иначе произойдет ошибка. Настоящий каталог среды находится в ~/.pyenv/versions.
  • pyenv virtualenvsСписок текущей виртуальной среды
  • pyenv activate env-nameАктивировать виртуальную среду
  • pyenv deactivateВыйдите из виртуальной среды и вернитесь в системную среду.
  • pyenv uninstall my-virtual-envУдалите виртуальную среду или удалите каталог напрямуюrm -rf ~/.pyenv/versions/env-name

Советы pyenv switch, вы также можете использовать виртуальную среду, например, вы можете использоватьpyenv local env-name, для достижения цели использования виртуальной среды в текущем каталоге. по сравнению сpyenv activate env-nameУдобнее, автоматически переключать версии каждый раз при входе в каталог.

использование пайпэнв

Установка Pipenv

Просто установите его с помощью pip

pip install pipenv

Если вы хотите, чтобы оболочка выполнялась автоматически в среде Linux или Mac, не лучше ли было бы, если бы вы могли автоматически выполнять команды в bash? Пожалуйста, добавьте следующее заявление в .bashrc или .zshrc:

eval "$(pipenv --completion)"

общие команды pipenv

  • pipenv --python 3.6Чтобы создать виртуальную среду, pipenv автоматически просканирует систему, чтобы найти соответствующую информацию о версии.Если она не может быть найдена и в то же время установлен pyenv, он автоматически вызовет pyenv для загрузки соответствующей версии python, в противном случае возникнет ошибка. сообщать.
  • pipenv shellВойдите в виртуальную среду
  • pipenv install urllib3Установить виртуальную среду или стороннюю библиотеку, также можно указать версиюpipenv install urllib3==1.22
  • pipenv uninstall urllib3Удалите библиотеку, удалите все использоватьpipenv uninstall --all
  • pipenv update urllib3Обновить указанный пакет без параметровpipenv updateудалит все текущие пакеты и установит их последние версии
  • pipenv --whereПросмотр корневого каталога проекта
  • pipenv --venvПросмотр каталога виртуальной среды
  • pipenv runЗапуск команды в виртуальной среде
  • pipenv checkПроверьте наличие дыр в безопасности
  • pipenv graphПоказать текущую зависимость информации карты
  • pipenv lockБлокировка и создание файла Pipfile.lock
  • pipenv openПросмотр библиотеки в редакторе

использованная литература

github.com/pyenv/pyenv

GitHub.com/Piegirl/Piegirl…

github.com/pypa/pipenv

сегмент fault.com/ah/119000001…

Woohoo.Новый год coding.com/2016/05/09/…

Оригинальный текст этой статьи исходит из моего личного блога www.xingjiehu.com