Разработка на Python на macOS с pyenv-virtualenv

ОБНОВЛЕНО: 31 мая 2020 г.

Прочтите этот пост на нашем новом сайте pythoneveryday.com .

Этот пост - часть 2. Обязательно прочитайте Часть 1: Разработка Python на macOS с помощью pyenv .

На этом этапе вы должны были pyenvустановить. Теперь вы можете быстро установить и переключаться между любой версией Python, которая вам нравится. Но что, если вы хотите использовать одну и ту же версию Python для двух проектов, использующих разные версии Django ?!

Мы используем pyenv-virtualenv.

Из документов:

pyenv-virtualenv - это плагин pyenv, который предоставляет функции для управления средами virtualenv и conda для Python в UNIX-подобных системах.

Инструкция по установке

Выполните следующие действия для установки pyenv-virtualenvв macOS. Мы будем устанавливать pyenv-virtualenvчерез Homebrew, поэтому убедитесь, что он у вас установлен.

# Install Homebrew if it isn't already available
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# Install pyenv-virtualenv
brew install pyenv-virtualenv
# Add pyenv-virtualenv initializer to shell startup script
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
# Reload your profile
source ~/.bash_profile

Ура! pyenv-virtualenvустановлен и функционирует. Теперь мы можем создавать виртуальные среды, которые используют ту же версию Python, но имеют собственный набор pipустановленных пакетов.

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

pyenv virtualenv <python-version> <name>

# Install Python 3.7.2
pyenv install 3.7.2
# Create a new virtual environment
pyenv virtualenv 3.7.2 django-2.2

Активировать виртуальную среду

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

pyenv activate django-2.2

pip install django==2.2

Просто для развлечения

Давайте продолжим и создадим еще одну виртуальную среду для нашего проекта, которая использует Django 1.11, и посмотрим, что произойдет.

pyenv virtualenv 3.7.2 django-1.11

pyenv activate django-1.11

pip install django=1.11

Активировать среду автоматически

Если вы следовали инструкциям по установке и включили eval "$(pyenv virtualenv-init -)"строку в свой ~/.bash_profile, у вас pyenv-virtualenvесть возможность автоматически активировать / деактивировать вашу среду.

Каждый раз, когда вы меняете каталог, pyenvищет .python-versionфайл и использует указанную версию Python или виртуальную среду!

cd в каталог вашего проекта и запустите:

pyenv local django-2.2

Заключение

Обязательно прочтите документацию, чтобы лучше понять, на что способны оба pyenvи pyenv-virtualenv. Теперь наслаждайтесь разработкой без конфликтов зависимостей!

Suggested posts

Как бесплатно запускать плагины ChatGPT с помощью Langchain

Как бесплатно запускать плагины ChatGPT с помощью Langchain

Вы, должно быть, слышали обо всех новых мощных плагинах ChatGPT, таких как Browser, Code Interpreter и т. д. Но есть проблема: доступ к плагинам ограничен списком ожидания, и поэтому многие не имеют к нему доступа.

Мои наиболее используемые ресурсы кодирования

Мои наиболее используемые ресурсы кодирования

На этой неделе я получил электронное письмо от участника ежедневного списка рассылки. Они хотели знать: какие ресурсы вы посещаете ежедневно, еженедельно и ежемесячно? Отличный вопрос! Я рад поделиться некоторыми мыслями о моем рабочем процессе и основных ресурсах, которые я использую.

Related posts

Больше никаких паролей — как пароли заменят ваш пароль

Больше никаких паролей — как пароли заменят ваш пароль

Во избежание двусмысленности будут использоваться следующие термины; Аутентификатор; Мобильный телефон, используемый для входа на веб-сайт; веб-сайт или приложение, которое пользователь использует для выполнения запроса на вход в систему; Поставщик, предоставляющий данную услугу, например

Опасные разговоры

Опасные разговоры

Если мы хотим продолжать процветать на этой планете, нам придется вести опасные разговоры. Те, которые бросают вызов тому, что мы сделали, что мы делаем и что мы в настоящее время собираемся продолжать делать (или планируем делать).

Журнал

Журнал

Открытый дневник: картинка в день. Меня всегда завораживали истории.

Сбор OSINT для поиска угроз

Сбор OSINT для поиска угроз

Привет, киберлюбители! Добро пожаловать обратно в серию OSINT по поиску угроз. В первой статье я рассказал вам об OSINT и его важности для поиска угроз.