Page MenuHomePhabricator

Update Flask dependency
ClosedPublic

Authored by natekupp on Aug 15 2019, 11:39 PM.

Details

Reviewers
schrockn
Group Reviewers
Restricted Project
Commits
R1:64cf4464cf15: Update Flask dependency
Test Plan

unit

Diff Detail

Repository
R1 dagster
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

natekupp created this revision.Aug 15 2019, 11:39 PM
natekupp added a reviewer: Restricted Project.Aug 15 2019, 11:54 PM
schrockn accepted this revision.Aug 16 2019, 1:38 PM
schrockn added a subscriber: schrockn.
schrockn added inline comments.
python_modules/dagit/setup.py
69

which version?

This revision is now accepted and ready to land.Aug 16 2019, 1:38 PM

So will limit what versions of airflow we can integrate with? I’m a little hazy on how this all coheres to a flexible sane strategy around deps

Sent via Superhuman iOS ( https://sprh.mn/?vip=schrockn@elementl.com )

natekupp added a subscriber: max.Aug 16 2019, 3:06 PM

It's a good question - I'm not sure if there's any good way to solve this, maybe @max has some thoughts since he was looking at the airflow <> flask stuff originally?

On a fresh install on an Ubuntu 16.04 LTS machine, dagit is currently installed in a broken state because of this constraint, so this change fixes the clean install case.

Airflow changed their dep here: https://github.com/apache/airflow/commit/1211dddfd7167fd90575f40dd6734b0af9aec8b7 - the previous constraint was flask>=0.12.4, <0.13. I suppose we could depend on the full range flask>=0.12.4, <2.0 but based on https://github.com/pypa/pip/issues/988 I don't think pip will automatically do the right thing and install a version of flask that satisfies both range constraints.

max added a comment.Aug 16 2019, 9:57 PM

Do we know what is actually breaking?

natekupp added a comment.EditedAug 16 2019, 10:20 PM
(venv) root@ip-172-31-1-11:/# dagit
Traceback (most recent call last):
  File "/venv/lib/python3.5/site-packages/pkg_resources/__init__.py", line 635, in _build_master
    ws.require(__requires__)
  File "/venv/lib/python3.5/site-packages/pkg_resources/__init__.py", line 943, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/venv/lib/python3.5/site-packages/pkg_resources/__init__.py", line 834, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (Flask 1.1.1 (/venv/lib/python3.5/site-packages), Requirement.parse('Flask<1.1.0,>=0.12.4'), {'dagit'})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/venv/bin/dagit", line 4, in <module>
    __import__('pkg_resources').require('dagit==0.5.6')
  File "/venv/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2927, in <module>
    @_call_aside
  File "/venv/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2913, in _call_aside
    f(*args, **kwargs)
  File "/venv/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2940, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/venv/lib/python3.5/site-packages/pkg_resources/__init__.py", line 637, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/venv/lib/python3.5/site-packages/pkg_resources/__init__.py", line 650, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/venv/lib/python3.5/site-packages/pkg_resources/__init__.py", line 829, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'Flask<1.1.0,>=0.12.4' distribution was not found and is required by dagit

this is what I'm getting after a clean make dev_install on ubuntu

This revision was automatically updated to reflect the committed changes.