Как установить pipenv на windows

Обновлено: 06.07.2024

P ipenv — менеджер зависимостей для Python-проектов. С его помощью можно создавать виртуальные среды и управлять зависимостями приложений. Pipenv решает ряд проблем, которые возникали при использовании pip, virtualenv и requirements.txt.

Данный инструмент аналогичен npm у NodeJS, или composer у PHP, и является официально рекомендуемым менеджером зависимостей для Python . Подробнее о том, кому он будет полезен и как им пользоваться, рассмотрим ниже.

Чем хорош Pipenv

Рано или поздно, каждый разработчик сталкивается с проблемой контроля версий пакетов pip и настройкой виртуального окружения. С помощью Pipenv вы можете:

  • Управлять окружениями ( env );
  • Управлять пакетами: устанавливать, удалять, обновлять ( pip );
  • Устанавливать детерминированный набор пакетов ( Pipfile.lock ).

Можно забыть про pip и virtualenv

Вам больше не нужно использовать pip и virtualenv по отдельности. В pipenv этот функционал реализован "из коробки".

Requirements.txt больше не нужен

Для своей работы менеджер использует 2 файла: Pipfile (по сути замена requirements.txt) и Pipfile.lock (связывает версии пакетов, тем самым обеспечивая дополнительную безопасность).

Когда вы запускаете проект с Pipenv, он автоматически создает виртуальную среду для текущего проекта, даже если вы еще не используете ее. Pipenv управляет зависимостями, отказавшись от привычного requirements.txt , и заменяя его на новый документ под названием Pipfile . Когда вы устанавливаете библиотеку с помощью Pipenv, файл Pipfile для проекта автоматически обновляется с указанием сведений об этой установке, включая информацию о версии, расположение хранилища Git, путь к файлу и другую информацию.

Пример файла Pipfile :

Ваше приложение может зависеть от конкретной версии библиотеки, а эта библиотека может зависеть от конкретной версии другой библиотеки. Если производить настройку вручную, во всем этом очень просто запутаться 🤷. Pipenv создан, чтобы облегчить эту задачу. Он отслеживает дерево взаимозависимостей вашего приложения в файле с именем Pipfile.lock В свою очередь, Pipfile.lock также проверяет, используются ли корректные версии зависимостей.

Пример файла Pipfile.lock :

Pipenv удобен, когда над проектом работают несколько разработчиков. Рассмотрим простой пример — компания ведет разработку своего корпоративного сайта. Мария работает над вкладкой "Отчеты", Иван — над вкладкой "Чат".

  • Для того чтобы отчеты создавались быстрее, Мария решает обновить некоторые питон-библиотеки.
  • В течение 2-х дней она разрабатывает новый функционал для отчетов.
  • Мария фиксирует изменения в git репозитории, но забывает запустить pip freeze . Файл requirements.txt остается в репозитории со старыми версиями библиотек.
  • Иван затягивает из репозитория изменения Марии, и внезапно выясняется, что его вкладка "Чат" стала выпадать с ошибкой.
  • Помимо этого, CI сборка тоже сломалась 😢

Требуется время, чтобы понять, что проблема в файле requirements.txt , где находятся старые версии библиотек.

Если бы Иван и Мария использовали Pipenv, Pipfile был бы автоматически обновлен и включен в коммит Марии. Они бы сэкономили время и завершили свой продукт быстрее. Вот что делает Pipenv таким важным.

Возможность создавать собственные шорткаты

Pipenv позволяет создавать собственные шорткаты (сокращения) в секции [scripts] файла Pipfile :

Теперь в консоли вы можете вызвать шорткат командой pipenv run print_hello

Автоматизация рутинных задач

Больше не придется тратить время на выполнение рутинных задач, выискивая причины отсутствия синхронизации и возникновения ошибок в версиях. Всю рутинную работу pipenv берет на себя:

  • автоматически генерирует Pipfile ;
  • автоматически удаляет/добавляет записи в Pipfile при установке/удалении пакетов;
  • автоматически создает virtualenv;
  • автоматически подгружает данные из .env файлов и т.д.

Установка

Самый простой вариант — установка с помощью pip.

Для Linux и MacOS есть альтернативный способ установки:

brew install pipenv

sudo apt install pipenv

sudo dnf install pipenv

pkg install py36-pipenv

После установки, вы можете фактически забыть о pip — pipenv по сути заменяет pip и virtualenv.

Пример использования

Рассмотрим простой пример использования pipenv.

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

Для инициализации виртуальной среды Python 3, выполните команду:

Если виртуальной среды еще не существует, она будет создана.

💭 Также вы можете принудительно создать среду Python 3 или Python 2. Для этого нужно выполнить команды pipenv --three или pipenv --two .

Устанавливаем пакеты

Далее можно установить сторонний пакет. Существует 3 варианта установки:

pipenv install scrapy

Установится последняя версия пакета. При этом в Pipfile добавится запись scrapy = "*"

Установятся все пакеты из Pipfile и обновится Pipfile.lock

Установятся все пакеты из Pipfile.lock

Запускаем скрипты

Запустить python-скрипты можно несколькими способами:

pipenv run python script-name.py

Настройка pipenv в PyCharm

Процесс настройки pipenv в PyCharm:

  1. В настройках откройте вкладку " Project Interpreter " - File > Settings > Project: ProjectName > Project Interpreter.
  2. Нажмите на шестеренку рядом с выпадающим списком и выберите " Add ".
  3. В списке слева выберите " Pipenv Environment ".
  4. Далее вы можете создать новое окружение " New environment " или использовать существующее " Existing environment ".

После того как все шаги выполнены, для текущего проекта устанавливается новая среда pipenv и устанавливаются пакеты, перечисленные в Pipfile.

Если вы открываете какой-либо проект с добавленным файлом Pipfile, но в нем не настроен интерпретатор, PyCharm предложит вам использовать среду Pipenv. Если вы выберете эту опцию, PyCharm автоматически установит для вас pipenv.

Команды pipenv

  • pipenv shell — активация виртуального окружения;
  • exit — выход из виртуального окружения;
  • pipenv check — проверка на наличие уязвимостей безопасности.
  • pipenv install — установка всех пакетов из Pipfile ;
  • pipenv install scrapy==1.8.0 — установит фиксированную версию пакета;
  • pipenv install selenium --dev — установит selenium как пакет только для разработки;
  • pipenv install --system — установка зависимостей в родительскую систему;
  • pipenv uninstall scrapy — удаление пакета;
  • pipenv uninstall --all — удаление всех установленных пакетов в виртуальной среде.
  • pipenv lock — генерация Pipfile.lock ;
  • pipenv sync — установка пакетов из Pipfile.lock ;
  • pipenv clean — удаление из virtualenv всех пакетов, которых нет в Pipfile.lock .
  • pipenv --where — путь до текущий проект;
  • pipenv --venv — путь до virtualenv;
  • pipenv --py — путь до интерпретатора;
  • pipenv graph — отображение графа зависимостей.

Pipenv и Docker

pipenv lock --requirements > requirements.txt

Плюс в том, что Dockerfile не нужно ничего знать о pipenv. Иначе, это потребовало бы обновлять файл require.txt при каждом обновлении Pipfile.lock .

В качестве альтернативы можно выполнить экспорт в самой сборке:

FROM python:3.7 RUN pip install pipenv COPY Pipfile* /tmp RUN cd /tmp && pipenv lock --requirements > requirements.txt RUN pip install -r /tmp/requirements.txt COPY . /tmp/myapp RUN pip install /tmp/myapp CMD flask run exampleapp:app

pipenv install --deploy --system

--deploy — pipenv выдаст ошибку если Pipfile.lock устарел, вместо того, чтобы сгенерировать новый Pipfile.lock файл.

--system — устанавливать зависимости в родительскую систему.

Рассмотрим пример Dockerfile для развертывания Flask приложения:

FROM python:3.7 RUN pip3 install pipenv WORKDIR /usr/src/app COPY Pipfile ./ COPY Pipfile.lock ./ RUN set -ex && pipenv install --deploy --system COPY . . EXPOSE 8000 CMD [ "gunicorn", "-b0.0.0.0:8000", "wsgi:app" ]

Конфигурирование pipenv

Pipenv дает возможность конфигурировать свое поведение с помощью переменных окружения ( Environment Variables ). Просто создайте переменную и pipenv обнаружит её. Вот некоторые их них:

  • PIPENV_VENV_IN_PROJECT — создаст виртуальное окружение .venv в папке с проектом;
  • PIPENV_YES — автоматически соглашаться со всеми диалогами;
  • PIPENV_DONT_LOAD_ENV — не загружать файл .env;
  • PIPENV_INSTALL_TIMEOUT — максимальное время ожидания установки пакета (сек.);
  • PIPENV_MAX_SUBPROCESS — количество подпроцессов, используемых во время установки;
  • PIPENV_PIPFILE — путь до файла Pipfile .

Полный список переменных можно посмотреть в официальной документации pipenv, в разделе " Configuration With Environment Variables ".

Стоит ли использовать Pipenv?

Определенно да! 🎉 Pipenv сведет всю работу по управлению пакетами и виртуальным окружением в одну консоль, решит проблему с версионированием пакетов и добавит новый, весьма приятный функционал.


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

В этой статье мы рассмотрим два варианта создания виртуального окружения: 1) при помощи Anaconda — дистрибутива c предустановленными популярными библиотеками, которым часто пользуются специалисты по работе с Big Data и 2) компактной библиотеки pipenv.

1. Pipenv

Pipenv – это инструмент, предоставляющий все необходимые средства для создания виртуального окружения. Он управляет пакетами проекта через файл pipfile , работающий как замена requirement.txt .

В качестве терминала в Windows возьмем на вооружение Git Bash, в MacOs – Homebrew, в Ubuntu – стандартный терминал.

1.1. Установка Pipenv

Создадим проект, используя команду mkdir new-project , которая создает папку с именем проекта new-project и перейдем в нее при помощи команды cd :

Для установки pipenv пользователи Windows могут ввести следующую команду:

pip install pipenv

brew install pipenv

pip3 install pipenv

1.2. Создание виртуального окружения

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

1.3. Установка и удаление пакетов

В качестве примера установим пакеты requests и flask :

pipenv install requests

pipenv install flask

В качестве примера удалим пакет flask :

pipenv uninstall flask

1.4. Выход из виртуального окружения

Для деактивации текущего окружения применим команду exit

2. Anaconda

У Anaconda свой менеджер разрешения зависимостей – conda, заменяющий стандартный менеджер пакетов pip . Также есть возможность создавать несколько изолированных окружений, чем сейчас и займемся.

2.1. Установка Anaconda

На сайте Anaconda выберите нужную ОС, версию Python, скачайте дистрибутив и установите Anaconda.

Забегая чуть вперед, если необходимо обновить Anaconda, откройте Anaconda Promt и введите команду conda update conda .

Существует два варианта запуска виртуального окружения:

  • Через графический интерфейс Anaconda Navigator.
  • Через командную строку Anaconda Promt.

В этом руководстве используется ОС Windows, но в других ОС процесс создания виртуального окружения такой же.

2.2. Создание окружения в Anaconda Prompt

Нажмите на иконку Windows, в поле поиска введите Anaconda Prompt , а затем нажмите Enter , чтобы открыть ее.

Введите команду conda , чтобы проверить успешность установки и ознакомиться с основными командами.

2.2.1. Создание виртуального окружения

В следующей команде -n – флаг, создающий новое окружение с именем env и определенной версией Python 3.7

conda create -n env python=3.7

2.2.2. Активация окружения

conda activate env

2.2.3. Установка пакетов

Установим numpy через менеджер conda:

conda install -n env numpy

2.2.4. Список установленных пакетов

Посмотрим, какие пакеты установлены в виртуальном окружении:


2.2.5. Список всех виртуальных окружений

Список всех созданных окружений выводится командой conda env list :


2.2.6. Деактивация виртуального окружения

Следующая команда деактивирует текущее окружение env и изменит его на base :

2.2.7. Удаление виртуального окружения

Удалим виртуальное окружение env со всеми его пакетами:

conda env remove -n env

Убедимся, что окружение удалено, открыв список окружений:

2.3. Создание окружения в Anaconda Navigator

Повторите шаги по установке виртуальной среды env

1. Нажмите на иконку Windows, в поле поиска введите Anaconda Navigator , а затем нажмите Enter .

2. Выберите вкладку Environments , где показано виртуальное окружение по умолчанию — base и созданная нами env .

3. Нажмите Create и заполните поля, как показано на картинке ниже.

Packages: Python 3.7

4. Перейдите в new-env , выберете All и установите нужный пакет. В нашем случае — numpy .

5. Поменяйте текущее виртуальное окружение, например, на env .

Мы разобрали два способа создания виртуального окружения: через компактный pipenv и с помощью среды Anaconda. Научились создавать, активировать и деактивировать виртуальные окружения и ставить в них пакеты. Теперь есть где писать чистый код!

3901436-d26b49fcd083320a

Картинка: Фото Нины Э. на Unsplash

Возможно, вы слышали о Pipenv. Если вы не использовали его, примите поздравления. Этот инструмент может сэкономить вам много работы по разработке. В одно и то же время мы можем отвечать за разработку нескольких проектов. Необходимо обеспечить независимость среды каждого проекта и не влиять друг на друга. Ответственность за это несет Virtualenv. В основном Pip отвечает за установку сторонних пакетов, а Pipenv - и то, и другое. Сочетание, принесло больше удобства для нашего развития. Все команды могут быть выполнены через pipenv.

Потратьте 5 минут, чтобы освоить использование этого инструмента.

Установка pipenv ничем не отличается от установки обычных сторонних библиотек, вы можете установить ее непосредственно с помощью команды pip.

pip install pipenv`

Его можно установить на Mac с помощью команды brew.

brew install pipenv

Далее мы расскажем, как использовать Pipenv. После того, как мы запустили новый проект, первое, что нам нужно сделать, это создать виртуальную среду для него (убедитесь, что на вашем компьютере установлена ​​только одна версия Python, иначе всегда будут непредсказуемые проблемы)

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

Виртуальная среда - это среда выполнения Python, используемая независимо каждым проектом.

Строго говоря, pipenv напрямую не предоставляет команду для создания виртуальной среды, но молча помогает вам создать ее позади. Install - это фактически команда для установки сторонних пакетов. Для новых проектов сначала создается виртуальная среда. В то же время в проекте Создайте пустой файл с именем Pipfile в каталоге.

Имя виртуальной среды связано с именем проекта. По умолчанию Pipenv автоматически выбирает место хранения виртуальной среды для вас. В Windows это обычно C: \ Users \ .virtualenvs

Установить сторонние пакеты

В предыдущем инсталляционном пакете использовалась команда pip, теперь вы можете использовать команду pipenv для установки, например, я устанавливаю пакет запросов:

pipenv install requests

Каковы преимущества использования pipenv для установки сторонних пакетов? Вам не нужно активировать виртуальную среду перед установкой, она напрямую загружается в виртуальную среду. Если для установки вы используете pip, вы должны сначала активировать среду. (Я часто забываю, какое имя я дал виртуальной среде)

После установки пакета файл Pipfile будет обновлен, а файл Pipfile.lock будет добавлен.

Структура в файле Pipfile:

В файле Pipfile записаны три вещи:

Откуда пакет загрузился с

Какие пакеты нужно скачать, * Означает, что последняя версия всегда загружается, а dev-packages означает пакеты, предназначенные для этапа разработки

Что такое версия Python

В файле Pipfile.lock подробно описывается информация об этих пакетах, включая значение хеш-значения этого пакета и то, от каких других пакетов зависит пакет.

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

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

Перед запуском программы нам все же нужно активировать виртуальную среду.Можно использовать оболочку pipenv для активации без указания имени, пока вы выполняете команду в текущем проекте.

Launching subshell in virtual environment…
Microsoft Windows [Version 10.0.18290.1000]
(c) 2018 Microsoft Corporation. All rights reserved.

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

(weihub-flask-j3rUnHkH) D:\my\weihub-flask> python

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

pipenv run

Кроме того, pipenv также подготовил run Команды, которые можно использовать для выполнения команд в виртуальной среде без отображения активации виртуальной среды, например:

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

Импортировать из needs.txt

Если это старый проект, вы помещаете все зависимые пакеты в файл require.txt, pipenv очень интимен, он поддерживает установку из файла needs.txt, что удобно для пользователей, которые используют pip для плавной миграции.

pipenv install -r requirements.txt

Устанавливать только в среду разработки

В среде разработки нам необходимо установить такие пакеты, как django-debug-toolbar и pytest. Они не используются в производственной среде, поэтому устанавливать их не нужно. Затем мы можем добавить параметр после isntall при установке пакета —Dev, что означает, что он устанавливается только в среде разработки, например:

pipenv install pytest --dev

Выполнить в производственной среде:

Реализация среды разработки:

Удалить пакет

pipenv uninstall requests

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

После удаления виртуальной среды каталог виртуальной среды и все зависимые от него пакеты будут удалены, но файлы Pipfile и Pipfile.lock останутся.

Общая проблема:

Если вам не удается создать виртуальную среду с помощью pipenv, появляется ошибка, подобная этой:

pipenv installCreating a virtualenv for this project…Pipfile: D:\my\weihub-flask\PipfileUsing c:\users\lzjun\appdata\local\programs\python\python37-32\python.exe (3.7.1) to create virtualenv…[ ===] Creating virtual environment. Already using interpreter c:\users\lzjun\appdata\local\programs\python\python37-32\python.exeUsing base prefix 'c:\\users\\lzjun\\appdata\\local\\programs\\python\\python37-32'New python executable in C:\Users\lzjun\.virtualenvs\weihub-flask-j3rUnHkH\Scripts\python.exeERROR: The executable C:\Users\lzjun\.virtualenvs\weihub-flask-j3rUnHkH\Scripts\python.exe is not functioningERROR: It thinks sys.prefix is 'd:\\my\\weihub-flask' (should be 'c:\\users\\lzjun\\.virtualenvs\\weihub-flask-j3runhkh')ERROR: virtualenv is not compatible with this system or executableNote: some Windows users have reported this error when they installed Python for "Only this user" or have multiple versions of Python installed. Copying the appropriate PythonXX.dll to the virtualenv Scripts/ directory may fix this problem.Failed creating virtual environment[pipenv.exceptions.VirtualenvCreationException]: File "c:\users\lzjun\appdata\local\programs\python\python37-32\lib\site-packages\pipenv\cli\command.py", line 254, in install[pipenv.exceptions.VirtualenvCreationException]: editable_packages=state.installstate.editables,[pipenv.exceptions.VirtualenvCreationException]: File "c:\users\lzjun\appdata\local\programs\python\python37-32\lib\site-packages\pipenv\core.py", line 1741, in do_install[pipenv.exceptions.VirtualenvCreationException]: pypi_mirror=pypi_mirror,[pipenv.exceptions.VirtualenvCreationException]: File "c:\users\lzjun\appdata\local\programs\python\python37-32\lib\site-packages\pipenv\core.py", line 574, in ensure_project[pipenv.exceptions.VirtualenvCreationException]: pypi_mirror=pypi_mirror,[pipenv.exceptions.VirtualenvCreationException]: File "c:\users\lzjun\appdata\local\programs\python\python37-32\lib\site-packages\pipenv\core.py", line 506, in ensure_virtualenv[pipenv.exceptions.VirtualenvCreationException]: python=python, site_packages=site_packages, pypi_mirror=pypi_mirror[pipenv.exceptions.VirtualenvCreationException]: File "c:\users\lzjun\appdata\local\programs\python\python37-32\lib\site-packages\pipenv\core.py", line 935, in do_create_virtualenv[pipenv.exceptions.VirtualenvCreationException]: extra=[crayons.blue("".format(c.err)),][pipenv.exceptions.VirtualenvCreationException]: Fatal Python error: initfsencoding: unable to load the file system codecTraceback (most recent call last): File "C:\Users\lzjun\.virtualenvs\weihub-flask-j3rUnHkH\lib\encodings\__init__.py", line 31, in <module> File "C:\Users\lzjun\.virtualenvs\weihub-flask-j3rUnHkH\lib\codecs.py", line 481 except UnicodeDecodeError, exc: ^SyntaxError: invalid syntax

Весьма вероятно, что в вашей системе установлено более одной версии Python. Вы можете выполнить нечеткий поиск Python * .dll, удалить все несвязанные и попробовать еще раз.

Как увеличить скорость загрузки

Измените URL-адрес в файле Pipfile и укажите источник загрузки в качестве более быстрого внутреннего источника, такого как Alibaba Cloud или Douban.

Каковы недостатки Pipenv

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

pipenv install --skip-lock

Автор рекомендует другие хорошие статьи:

Код написан более элегантно (версия Python)

Код написан более элегантно (версия Python)

Коллекция статей по истории сообщества энтузиастов Python:

Список исторических статей для сообщества энтузиастов Python

Ответить в публичном аккаунте после следующего"Курс"Ты можешь получить:

Переход Xiaobian на науку о данных (анализ данных и майнинг / машинное обучение) [последнее бесплатно]

Бесплатный видеокурс для начинающих по Python!

Быстрый старт библиотеки визуализации matplotlib в Python!

Учитель Цуй боевой случай рептилий бесплатное обучение видео.

Отчет по анализу данных Учителя Чена был расширен для выпуска бесплатных обучающих видео.

Получайте удовольствие от анализа больших данных! Spark2.X + Python необходимый боевой курс бесплатное обучающее видео.

3901436-0fa3ea9ea0d7a1b6

Интеллектуальная рекомендация


Краткое описание общих функций MPI

содержание 1, основная функция MPI 2, точка-точка функция связи 3, коллективная функция связи 1, основная функция MPI MPI_Init(&argc, &argv) Информировать системы MPI для выполнения всех необх.

Примечание 9: EL выражение


JVM память

концепция Виртуальная машина JVM управляет собственной памятью, которая разделяет память во многие блоки, наиболее распространенной для памяти стека и памяти кучи. 1 структура виртуальной машины JVM H.

Проблема сетевого запроса на Android 9.0

вЗапустите Android 9 (API Уровень 28) или вышеНа устройстве операционной системы Android, чтобы обеспечить безопасность пользовательских данных и устройств, использование по умолчанию для зашифрованно.


Учебная запись по Webpack (3) В статье рассказывается о создании webpack4.0.

предисловие Для изучения веб-пакета автор также предпринял много обходных путей. Есть много вещей, которые я хочу знать, но я не могу их найти. Автор поможет вам быстро начать работу. Цель этой статьи.

Python

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

Различные инструменты для создания виртуального окружения в Python

1. virtualenv

Преимущества:
Легкость модернизации с помощью pip и работа с различными версиями Python. Также поддерживает Python 2.7+.

Недостатки:
Двоичный файл интерпретатора Python копируется в новое место расположения, в котором он будет доступен для чтения. Помимо этого, необходима отдельная установка для Python.

2. Python Environment Wrapper (pew)

pew выступает в качестве упаковщика и используется для любой команды. Подробную информацию можно посмотреть в документации.

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

3. venv

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

Преимущества:
Генерирует файл конфигурации, который распознается двоичным файлом Python, и не требует копирования бинарного файла в новое место. Более того, активно поддерживается со стороны разработчиков Python.

Недостатки:
Не подходит для версий Python до 3.3.

4. pipenv

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

Преимущества:
Легко указать окружение, с которым вы работаете. Помимо этого, с его помощью можно создать отдельные секции для окружения, такие как production и test-development.

Недостатки:
Требует отдельной загрузки с помощью pip .

Все эти инструменты помогут в решении проблемы. С их помощью легко создать Виртуальное Окружение. Просто выберите любой и научитесь с ним работать.

В качестве лучшего инструмента для создания виртуальных окружений я выбрал pipenv . Рассмотрим его базовые особенности.

pipenv

Для установки pipenv с помощью brew используйте следующую команду.

Создание Окружения

После установки pipenv начинается работа с окружением. Его можно создать в любой папке. Я выбрал pipenvProject . Просто установите любой пакет внутри папки. Используем requests . Он автоматически установит окружение и создаст Pipfile и Pipfile.lock .


запросы для установки pipenv

В директории будут созданы два файла. Pipfile , включающий список пакетов, версию Python и прочую информацию. Файл блокировки (lock file) генерируется в качестве Pipfile.lock .


Pipfile


Pipfile.lock

Для активации окружения используется pipenv shell . Теперь мы находимся в Виртуальном Окружении. Чтобы заглянуть внутрь Python и проверить наличие пакетов с помощью import requests , используется команда python . Если ошибок нет, это значит, что пакет успешно установлен.


Inside environment

Выйти из окружения можно с помощью exit . После закрытия окружения невозможно получить доступ к пакету requests .


Outside environment

Запустить команды можно прямо внутри окружения без вызова shell . Для этого используется команда run . Таким образом, для запуска Python можно использовать следующую команду:

Совместимость с пользователями non-pipenv

Каждый раз при установке пакетов в Python мы указываем список в файле под названием requirements.txt. Затем просто запускаем приведенную ниже команду и устанавливаем все пакеты сразу.

При работе с pipenv существует метод для создания текста к этому файлу. Просто используйте команду:


Требования к текстовому файлу

Отобразится текст для файла requirements.txt , который могут использовать другие.

Удаление Окружения

Окружение можно легко удалить с помощью команды pipenv —-rm и создать снова, используя pipenv shell .

Однако файлы в каталоге останутся на месте. Чтобы избавиться от них, нужно удалить каталог.

Заключение

Мы рассмотрели современные инструменты для создания виртуального окружения с Python, включая pew , venv и pipenv , а также их преимущества и недостатки.

Бонус:

Добавьте две следующие строки, сохраните и перезапустите терминал. Проблема решена.

Читайте также: