際際滷

際際滷Share a Scribd company logo
PIPENV
Python Dev Workflow for Humans
QUESTIONS?
Shoot!
A QUICK TASTE
OF PIPENV
Pipenv: Python Dev Workflow for Humans
Pipenv is the porcelain I always wanted to build for pip.
It fits my brain and mostly replaces virtualenvwrapper
and manual pip calls for me. Use it.
-Jannis Leidel, former pip maintainer
This package manager is really awesome. For the first
time I know exactly what my dependencies are which I
installed and what the transitive dependencies are.
Combined with the fact that installs are deterministic,
makes this package manager first class, like cargo.
-David Gang
Pipenv: Python Dev Workflow for Humans
BUT WHY?
pip is just fine
CONVENIENCE
 No need to use pip and
virtualenv separately.
 They work together.
RESILIENCE
 Managing requirements is
hard and burn-inducing.
 Pipfile vs Pipfile.lock
 abstract dependencies vs KGS
 actual vs transitive deps
Pipenv: Python Dev Workflow for Humans
amqp==2.3.2
anyjson==0.3.3
billiard==3.5.0.3
celery==4.0.0
kombu==4.2.1
python-dateutil==1.5
pytz==2018.4
vine==1.1.4
pip
Pipenv: Python Dev Workflow for Humans
amqp==2.3.2
anyjson==0.3.3
billiard==3.5.0.3
celery==4.0.0
kombu==4.2.1
python-dateutil==1.5
pytz==2018.4
vine==1.1.4
pip
amqp==2.3.2
billiard==3.5.0.3
celery==4.0
kombu==4.2.1
pytz==2018.4
vine==1.1.4
pipenv
amqp==2.3.2
anyjson==0.3.3
billiard==3.5.0.3
celery==4.0.0
kombu==4.2.1
python-dateutil==1.5
pytz==2018.4
vine==1.1.4
pip
amqp==2.3.2
billiard==3.5.0.3
celery==4.0
kombu==4.2.1
pytz==2018.4
vine==1.1.4
pipenv
SECURITY
 Hashes. Everywhere.
 Automatic vuln. discovery.
 Always up-to-date.
Pipenv: Python Dev Workflow for Humans
SECURITY
 Hashes. Everywhere.
 Automatic vuln. discovery.
 Always up-to-date.
Pipenv: Python Dev Workflow for Humans
SECURITY
 Hashes. Everywhere.
 Automatic vuln. discovery.
 Always up-to-date.
Pipenv: Python Dev Workflow for Humans
hupper==1.3
pastedeploy==1.5.2
plaster-pastedeploy==0.5
plaster==1.0
pyramid==1.9.2
repoze.lru==0.7
translationstring==1.3
venusian==1.1.0
webob==1.8.2
zope.deprecation==4.3.0
zope.interface==4.5.0
A couple months back
hupper==1.0
pastedeploy==1.5.2
plaster-pastedeploy==0.4.2
plaster==1.0
pyramid==1.9.1
repoze.lru==0.7
translationstring==1.3
venusian==1.1.0
webob==1.7.3
zope.deprecation==4.2.0
zope.interface==4.4.2
Today
MORE COOKIES
 pipenv shell
 pipenv graph
 --three or --two
 --unused
 --rm
 --system
 --deploy
 --keep-outdated
Pipenv: Python Dev Workflow for Humans
MORE COOKIES
 pipenv shell
 pipenv graph
 --three or --two
 --unused
 --rm
 --system
 --deploy
 --keep-outdated
PIPENV DRAWBACKS
 Only dev and production
mode
 No offline mode
 Not very fast
 Not very stable
PIPENV DRAWBACKS
 Only dev and production
mode
 No offline mode
 Not very fast
 Not very stable
PIPENV DRAWBACKS
 Only dev and production
mode
 No offline mode
 Not very fast
 Not very stable
PIPENV: RECAP
 Truly deterministic builds
 Verifies hashes
 Checks for security issues
 Keeps you up-to-date
 requests-level of
convenience
@nzupan
NITEO.CO/CAREERS

More Related Content

Pipenv: Python Dev Workflow for Humans