``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

.. warning:: 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

