Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introducing Pipenv

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

Introducing Pipenv

Avatar for Sobolev Nikita

Sobolev Nikita

March 17, 2018
Tweet

More Decks by Sobolev Nikita

Other Decks in Programming

Transcript

  1. • Храним только "наши" зависимости • Легко читать человеку •

    Трудно понимать машине requirements.txt » cat requirements.txt flask==0.12.2
  2. • Храним все транзитивные зависимости • Трудно читать человеку •

    Легче понимать машине, но все еще сложно requirements.txt » cat requirements.txt click==6.7 flask==0.12.2 itsdangerous==0.24 Jinja2==2.10 MarkupSafe==1.0 Werkzeug==0.14.1
  3. » pip-compile Could not find a version that matches requests

    !=2.18.0, ==2.18.0, >=2.14.2 Tried: 0.2.0, 0.2.1, 0.2.2, ... 2.18.3, 2.18.4, 2.18.4 There are incompatible versions in the resolved dependencies.
  4. certifi==2018.1.18 # via requests chardet==3.0.4 # via requests docker-pycreds==0.2.2 #

    via docker docker==3.1.1 idna==2.6 # via requests requests==2.18.4 six==1.11.0 # via docker, six urllib3==1.22 # via requests websocket-client==0.47.0 # via docker requirements.txt
  5. » cat Pipfile [[source]] url = "https://pypi.python.org/simple" verify_ssl = true

    name = "pypi" [packages] appnope = { os_name = "=='macos'" } enum34 = { markers = "python_version < '3.4'" } [dev-packages] pytest = "*" [requires] python_version = "3.6"
  6. pipenv • Pipfile / Pipfile.lock уже сегодня • Deterministic builds

    • Управляет virtualenv • Проверяет безопасность зависимостей
  7. Проблемы остаются • Проект еще в стадии активного развития •

    Внутри творится просто дичь • Бинарные зависимости; psycopg2 и psycopg2- binary • Нет интеграции с setuptools • Постоянные merge-конфликты • Специфичное комьюнити
  8. History.txt 11.7.2: Bugfixes. 11.7.1: Windows bugfix. 11.7.0:Improvements to lockfile generation

    with private indexes. 11.6.9: Bugfixes. 11.6.8: Fix a Windows bug. 11.6.7: Fix a Windows bug.
  9. Полезные ссылки • Официальный Slack канал #pipenv: pythondev.slack.com • Pipfile

    specs: github.com/pypa/pipfile • Обновленный PyPI: pypi.org • Mimesis: github.com/lk-geimfari/mimesis • Шаблон с Django, Docker, Pipenv: github.com/ wemake-services/wemake-django-template