На самом деле, для Python все почти так же: Pipenv .
Pipenv - это оболочка над virtualenv .Virtualenv - это виртуальная установка Python с установленными зависимостями, которую вы можете активировать только тогда, когда вам это нужно.
Вы можете установить Pipenv из pip:
$ pip install --user pipenv
Для использования Pipenv,Вы можете инициализировать его в существующем каталоге, указав версию Python:
~/project$ pipenv --python 3.5
Creating a virtualenv for this project…
Pipfile: ~/project/Pipfile
Using /usr/local/bin/python3.5 (3.5.6) to create virtualenv…
⠴Running virtualenv with interpreter /usr/local/bin/python3.5
Using base prefix '/usr/local'
New python executable in ~/.local/share/virtualenvs/project-FR7x7nea/bin/python3.5
Also creating executable in ~/.local/share/virtualenvs/project-FR7x7nea/bin/python
Installing setuptools, pip, wheel...done.
Virtualenv location: ~/.local/share/virtualenvs/project-FR7x7nea
Creating a Pipfile for this project…
Это создаст файл с именем Pipfile
, который сохранит ваши зависимости.Выглядит это так:
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
[dev-packages]
[requires]
python_version = "3.5"
Вы можете установить зависимости с помощью pipenv install
, так же, как и с pip
:
pipenv install numpy
Это добавит его в ваш Pipfile
и заморозьте его версию в Pipfile.lock
.Вы всегда должны управлять своими зависимостями из команд pipenv
, а не редактировать эти файлы вручную.
Кроме того, вы можете перейти к pipenv установить файл requirements.txt
, который будет иметь тот же эффект, что и с pip
,Файл requirements.txt
является стандартным при работе с pip;Pipenv ожидает тот, который уважает этот формат.Например, следующее допустимое минимальное значение requirements.txt
:
docopt
Это просто означает, что вы хотите docopt
в любой версии.Если вам нужна конкретная версия для ваших зависимостей, pip также поддерживает это .Вы передаете его в pipenv install
с флагом -r
:
~/project$ pipenv install -r requirements.txt
Requirements file provided! Importing into Pipfile…
Pipfile.lock (c2e94e) out of date, updating to (5a67c1)…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Updated Pipfile.lock (c2e94e)!
Installing dependencies from Pipfile.lock (c2e94e)…
? ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 2/2 — 00:00:02
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.
Наконец, вам нужно активировать виртуальную среду, упакованную Pipenv, чтобы иметь эффективный доступ к зависимостям.Это делается с помощью pipenv shell
(хотя вы можете выполнить одну команду с помощью pipenv run <cmd>
):
~/project $ pipenv shell
(project) ~/project$ python
Python 3.5.6 (default, Dec 3 2018, 12:12:20)
[GCC 8.2.1 20180831] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>>
Приятно то, что вы можете клонировать случайное репо из Github,инициализируйте Pipenv и запустите pipenv install -r requirements.txt
, чтобы подготовить чистую среду для запуска проекта (предостережение заключается в том, что загрузка всех зависимостей может занять некоторое время).Зависимости будут устанавливаться только в виртуальной среде, сохраняя чистоту других ваших виртуальных сред и среды вашего хоста.
Дополнительные сведения здесь: https://docs.python -guide.org / dev / virtualenvs /