# `pipenv`

Instalace pipenv:

    pip install pipenv

Vytvoření složky projektu:

    mkdir pipenv_proj
    cd pipenv_proj

Instalace prvního balíčku pomocí pipenv:

    pipenv install pygments==2.1.*

Spuštění `pygmentize`:

    pipenv run pygmentize ../hello_world.py

Aktivace shellu s virutálním prostředím:

    pipenv shell

Spuštění příkazu ve virtuálním prostředí:

    pygmentize hello_world.py

Ukončení shellu:

    exit

Instalace nových závislostí:

    pipenv install Django==2.0.1

Aktualizace závislosti na vyšší verzi:

> pipenv install pygments~=2.2.0

Strom závislostí:

    pipenv graph

Aktualizace lock souboru:

    pipenv lock

Varování

Při generování lock souboru se v něm aktualizují všechny závislosti na poslední vyhovující verzi!

Generování probíhá i při operaci `install`, proto pokud potřebujete ponechat vždy konkrétní verzi, instalujte balíček s operátorem `==`.

Kvůli tomu se také může stát, že v lock souboru budou uvedeny novější závislosti, než máte nainstalované.

Problém s tím, že nelze nechat aktualizovat pouze jednu závislost, se řeší na GitHubu: https://github.com/pypa/pipenv/issues/966

Synchronizace všech závislostí (= instalace toho, co je v lock souboru):

    pipenv sync

Kontrola zranitelností v závislostech:

    pipenv check

Vytvoření `requirements.txt`:

    pipenv lock -r

Instalace do jiného prostředí:

    mkvirtualenv my_next_venv
    pip install -r requirements.txt