You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@airflow.apache.org by Kyle Hamlin <ha...@gmail.com> on 2018/10/03 23:41:32 UTC
Flask-AppBuilder has pinned versions of Click & Flask-Login in 1.10.0
Hi,
Today I was trying to upgrade Airflow to 1.10.0 and it appears that there
are some version conflicts with click and flask-login. I uncovered these
because I use Pipenv to manage our project's dependencies. You can see here
that Flask-AppBuilder pins click==6.7 and flask-login>=0.3,<0.5
https://github.com/dpgaspar/Flask-AppBuilder/blob/master/setup.py#L37-L47
I'm able to force pipenv to install click==6.7 because that is not pinned
in Airflow's setup.py, but I can do nothing about flask-login because
Airflow pins the flask-login version:
https://github.com/apache/incubator-airflow/blob/master/setup.py#L304
This prevents me from being able to upgrade to 1.10.0.
*Pipenv's Graphed project dependencies (conflicts highlighted):*
apache-airflow==1.10.0
- alembic [required: >=0.8.3,<0.9, installed: 0.8.10]
- Mako [required: Any, installed: 1.0.7]
- MarkupSafe [required: >=0.9.2, installed: 1.0]
- python-editor [required: >=0.3, installed: 1.0.3]
- SQLAlchemy [required: >=0.7.6, installed: 1.2.12]
- bleach [required: ==2.1.2, installed: 2.1.2]
- html5lib [required:
>=0.99999999pre,!=1.0b8,!=1.0b7,!=1.0b6,!=1.0b5,!=1.0b4,!=1.0b3,!=1.0b2,!=1.0b1,
installed: 1.0.1]
- six [required: >=1.9, installed: 1.11.0]
- webencodings [required: Any, installed: 0.5.1]
- six [required: Any, installed: 1.11.0]
- configparser [required: >=3.5.0,<3.6.0, installed: 3.5.0]
- croniter [required: >=0.3.17,<0.4, installed: 0.3.25]
- python-dateutil [required: Any, installed: 2.7.3]
- six [required: >=1.5, installed: 1.11.0]
- dill [required: >=0.2.2,<0.3, installed: 0.2.8.2]
- flask [required: >=0.12.4,<0.13, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
- flask-admin [required: ==1.4.1, installed: 1.4.1]
- Flask [required: >=0.7, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
- wtforms [required: Any, installed: 2.2.1]
- flask-appbuilder [required: >=1.11.1,<2.0.0, installed: 1.12.0]
- click [required: ==6.7, installed: 7.0]
- colorama [required: ==0.3.9, installed: 0.3.9]
- Flask [required: >=0.10.0,<0.12.99, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
- Flask-Babel [required: ==0.11.1, installed: 0.11.1]
- Babel [required: >=2.3, installed: 2.6.0]
- pytz [required: >=0a, installed: 2018.5]
- Flask [required: Any, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
- Jinja2 [required: >=2.5, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Flask-Login [required: >=0.3,<0.5, installed: 0.2.11]
- Flask [required: Any, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
- Flask-OpenID [required: ==1.2.5, installed: 1.2.5]
- Flask [required: >=0.10.1, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
- python3-openid [required: >=2.0, installed: 3.1.0]
- defusedxml [required: Any, installed: 0.5.0]
- Flask-SQLAlchemy [required: ==2.1, installed: 2.1]
- Flask [required: >=0.10, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
- SQLAlchemy [required: >=0.7, installed: 1.2.12]
- Flask-WTF [required: ==0.14.2, installed: 0.14.2]
- Flask [required: Any, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
- WTForms [required: Any, installed: 2.2.1]
- python-dateutil [required: >=2.3,<3, installed: 2.7.3]
- six [required: >=1.5, installed: 1.11.0]
- flask-caching [required: >=1.3.3,<1.4.0, installed: 1.3.3]
- Flask [required: Any, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
- Werkzeug [required: >=0.12, installed: 0.14.1]
- flask-login [required: ==0.2.11, installed: 0.2.11]
- Flask [required: Any, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
- flask-swagger [required: ==0.2.13, installed: 0.2.13]
- Flask [required: >=0.10, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
- PyYAML [required: >=3.0, installed: 3.13]
- flask-wtf [required: >=0.14.2,<0.15, installed: 0.14.2]
- Flask [required: Any, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
- WTForms [required: Any, installed: 2.2.1]
- funcsigs [required: ==1.0.0, installed: 1.0.0]
- ordereddict [required: Any, installed: 1.1]
- future [required: >=0.16.0,<0.17, installed: 0.16.0]
- gitpython [required: >=2.0.2, installed: 2.1.11]
- gitdb2 [required: >=2.0.0, installed: 2.0.4]
- smmap2 [required: >=2.0.0, installed: 2.0.4]
- gunicorn [required: >=19.4.0,<20.0, installed: 19.9.0]
- iso8601 [required: >=0.1.12, installed: 0.1.12]
- jinja2 [required: >=2.7.3,<2.9.0, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- lxml [required: >=3.6.0,<4.0, installed: 3.8.0]
- markdown [required: >=2.5.2,<3.0, installed: 2.6.11]
- pandas [required: >=0.17.1,<1.0.0, installed: 0.23.4]
- numpy [required: >=1.9.0, installed: 1.15.2]
- python-dateutil [required: >=2.5.0, installed: 2.7.3]
- six [required: >=1.5, installed: 1.11.0]
- pytz [required: >=2011k, installed: 2018.5]
- pendulum [required: ==1.4.4, installed: 1.4.4]
- python-dateutil [required: >=2.6.0.0,<3.0.0.0, installed: 2.7.3]
- six [required: >=1.5, installed: 1.11.0]
- pytzdata [required: >=2018.3.0.0, installed: 2018.5]
- tzlocal [required: >=1.5.0.0,<2.0.0.0, installed: 1.5.1]
- pytz [required: Any, installed: 2018.5]
- psutil [required: >=4.2.0,<5.0.0, installed: 4.4.2]
- pygments [required: >=2.0.1,<3.0, installed: 2.2.0]
- python-daemon [required: >=2.1.1,<2.2, installed: 2.1.2]
- docutils [required: Any, installed: 0.14]
- lockfile [required: >=0.10, installed: 0.12.2]
- setuptools [required: Any, installed: 40.4.3]
- python-dateutil [required: >=2.3,<3, installed: 2.7.3]
- six [required: >=1.5, installed: 1.11.0]
- python-nvd3 [required: ==0.15.0, installed: 0.15.0]
- Jinja2 [required: >=2.8, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- python-slugify [required: >=1.2.5, installed: 1.2.6]
- Unidecode [required: >=0.04.16, installed: 1.0.22]
- requests [required: >=2.5.1,<3, installed: 2.19.1]
- certifi [required: >=2017.4.17, installed: 2018.8.24]
- chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
- idna [required: >=2.5,<2.8, installed: 2.7]
- urllib3 [required: >=1.21.1,<1.24, installed: 1.23]
- setproctitle [required: >=1.1.8,<2, installed: 1.1.10]
- sqlalchemy [required: >=1.1.15,<1.2.0, installed: 1.2.12]
- tabulate [required: >=0.7.5,<0.8.0, installed: 0.7.7]
- tenacity [required: ==4.8.0, installed: 4.8.0]
- monotonic [required: >=0.6, installed: 1.5]
- six [required: >=1.9.0, installed: 1.11.0]
- thrift [required: >=0.9.2, installed: 0.11.0]
- six [required: >=1.7.2, installed: 1.11.0]
- tzlocal [required: >=1.4, installed: 1.5.1]
- pytz [required: Any, installed: 2018.5]
- unicodecsv [required: >=0.14.1, installed: 0.14.1]
- werkzeug [required: >=0.14.1,<0.15.0, installed: 0.14.1]
- zope.deprecation [required: >=4.0,<5.0, installed: 4.3.0]
- setuptools [required: Any, installed: 40.4.3]
--
Kyle Hamlin
Re: Flask-AppBuilder has pinned versions of Click & Flask-Login in 1.10.0
Posted by Kyle Hamlin <ha...@gmail.com>.
Thank for this Ash. Pipenv works very well in 99% of cases and is vastly
better than managing requirements files. Also, PYPA (Python Packaging
Authority) officially recommends Pipenv.
I gave poetry a try and it seems like it has a lot of potential. I did run
into two errors, a max recursion depth when installing Airflow with a lot
of extras, and when installing Airflow without any extras an issue
installing lxml.
On Fri, Oct 5, 2018 at 4:29 AM Ash Berlin-Taylor <as...@apache.org> wrote:
> Oh I meant FAB 1.11.1.
>
> And it looks like the Jinja issue is a bug in pip-tools, where it treats a
> dep of "jina" as actually being "jinja>=CURRENT"
> https://github.com/pypa/pipenv/issues/2596 <
> https://github.com/pypa/pipenv/issues/2596>
>
> In short: pip-env isn't ready for real-world use yet? (I'm guessing and
> extrapolating, but I haven't used it myself so don't trust my word on this)
>
> -ash
> > On 4 Oct 2018, at 16:38, Kyle Hamlin <ha...@gmail.com> wrote:
> >
> > If I remove the Flask-AppBuild pinning to 1.11.0 then it uncovers a
> Jinja2
> > conflict which is baffling because I don't see anywhere in the graph that
> > jinja2 >=2.10 is required.
> >
> > Could not find a version that matches
> > jinja2<2.9.0,>=2.10,>=2.4,>=2.5,>=2.7.3,>=2.8
> > Tried: 2.0, 2.1, 2.1.1, 2.2, 2.2.1, 2.3, 2.3.1, 2.4, 2.4.1, 2.5, 2.5.1,
> > 2.5.2, 2.5.3, 2.5.4, 2.5.5, 2.6, 2.7, 2.7.1, 2.7.2, 2.7.3, 2.8, 2.8,
> 2.8.1,
> > 2.8.1, 2.9, 2.9, 2.9.1, 2.9.1, 2.9.2, 2.9.2, 2.9.3, 2.9.3, 2.9.4, 2.9.4,
> > 2.9.5, 2.9.5, 2.9.6, 2.9.6, 2.10, 2.10
> >
> > I highlighted why the dep fails there one dep that requires Jinjs2 <
> 2.9.0
> > but I still have not idea where the 2.10.0 comes from.
> >
> > apache-airflow==2.0.0.dev0+incubating
> > - alembic [required: >=0.9,<1.0, installed: 0.9.10]
> > - Mako [required: Any, installed: 1.0.7]
> > - MarkupSafe [required: >=0.9.2, installed: 1.0]
> > - python-dateutil [required: Any, installed: 2.7.3]
> > - six [required: >=1.5, installed: 1.11.0]
> > - python-editor [required: >=0.3, installed: 1.0.3]
> > - SQLAlchemy [required: >=0.7.6, installed: 1.1.18]
> > - bleach [required: ~=2.1.3, installed: 2.1.4]
> > - html5lib [required:
> >>
> =0.99999999pre,!=1.0b8,!=1.0b7,!=1.0b6,!=1.0b5,!=1.0b4,!=1.0b3,!=1.0b2,!=1.0b1,
> > installed: 1.0.1]
> > - six [required: >=1.9, installed: 1.11.0]
> > - webencodings [required: Any, installed: 0.5.1]
> > - six [required: Any, installed: 1.11.0]
> > - configparser [required: >=3.5.0,<3.6.0, installed: 3.5.0]
> > - croniter [required: >=0.3.17,<0.4, installed: 0.3.25]
> > - python-dateutil [required: Any, installed: 2.7.3]
> > - six [required: >=1.5, installed: 1.11.0]
> > - dill [required: >=0.2.2,<0.3, installed: 0.2.8.2]
> > - flask [required: >=0.12.4,<0.13, installed: 0.12.4]
> > - click [required: >=2.0, installed: 7.0]
> > - itsdangerous [required: >=0.21, installed: 0.24]
> > - Jinja2 [required: >=2.4, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - Werkzeug [required: >=0.7, installed: 0.14.1]
> > - flask-admin [required: ==1.4.1, installed: 1.4.1]
> > - Flask [required: >=0.7, installed: 0.12.4]
> > - click [required: >=2.0, installed: 7.0]
> > - itsdangerous [required: >=0.21, installed: 0.24]
> > - Jinja2 [required: >=2.4, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - Werkzeug [required: >=0.7, installed: 0.14.1]
> > - wtforms [required: Any, installed: 2.2.1]
> > - flask-appbuilder [required: >=1.12,<2.0.0, installed: 1.12.0]
> > - click [required: ==6.7, installed: 7.0]
> > - colorama [required: ==0.3.9, installed: 0.3.9]
> > - Flask [required: >=0.10.0,<0.12.99, installed: 0.12.4]
> > - click [required: >=2.0, installed: 7.0]
> > - itsdangerous [required: >=0.21, installed: 0.24]
> > - Jinja2 [required: >=2.4, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - Werkzeug [required: >=0.7, installed: 0.14.1]
> > - Flask-Babel [required: ==0.11.1, installed: 0.11.1]
> > - Babel [required: >=2.3, installed: 2.6.0]
> > - pytz [required: >=0a, installed: 2018.5]
> > - Flask [required: Any, installed: 0.12.4]
> > - click [required: >=2.0, installed: 7.0]
> > - itsdangerous [required: >=0.21, installed: 0.24]
> > - Jinja2 [required: >=2.4, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - Werkzeug [required: >=0.7, installed: 0.14.1]
> > - Jinja2 [required: >=2.5, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - Flask-Login [required: >=0.3,<0.5, installed: 0.4.1]
> > - Flask [required: Any, installed: 0.12.4]
> > - click [required: >=2.0, installed: 7.0]
> > - itsdangerous [required: >=0.21, installed: 0.24]
> > - Jinja2 [required: >=2.4, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - Werkzeug [required: >=0.7, installed: 0.14.1]
> > - Flask-OpenID [required: ==1.2.5, installed: 1.2.5]
> > - Flask [required: >=0.10.1, installed: 0.12.4]
> > - click [required: >=2.0, installed: 7.0]
> > - itsdangerous [required: >=0.21, installed: 0.24]
> > - Jinja2 [required: >=2.4, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - Werkzeug [required: >=0.7, installed: 0.14.1]
> > - python3-openid [required: >=2.0, installed: 3.1.0]
> > - defusedxml [required: Any, installed: 0.5.0]
> > - Flask-SQLAlchemy [required: ==2.1, installed: 2.1]
> > - Flask [required: >=0.10, installed: 0.12.4]
> > - click [required: >=2.0, installed: 7.0]
> > - itsdangerous [required: >=0.21, installed: 0.24]
> > - Jinja2 [required: >=2.4, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - Werkzeug [required: >=0.7, installed: 0.14.1]
> > - SQLAlchemy [required: >=0.7, installed: 1.1.18]
> > - Flask-WTF [required: ==0.14.2, installed: 0.14.2]
> > - Flask [required: Any, installed: 0.12.4]
> > - click [required: >=2.0, installed: 7.0]
> > - itsdangerous [required: >=0.21, installed: 0.24]
> > - Jinja2 [required: >=2.4, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - Werkzeug [required: >=0.7, installed: 0.14.1]
> > - WTForms [required: Any, installed: 2.2.1]
> > - python-dateutil [required: >=2.3,<3, installed: 2.7.3]
> > - six [required: >=1.5, installed: 1.11.0]
> > - flask-caching [required: >=1.3.3,<1.4.0, installed: 1.3.3]
> > - Flask [required: Any, installed: 0.12.4]
> > - click [required: >=2.0, installed: 7.0]
> > - itsdangerous [required: >=0.21, installed: 0.24]
> > - Jinja2 [required: >=2.4, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - Werkzeug [required: >=0.7, installed: 0.14.1]
> > - Werkzeug [required: >=0.12, installed: 0.14.1]
> > - flask-login [required: >=0.3,<0.5, installed: 0.4.1]
> > - Flask [required: Any, installed: 0.12.4]
> > - click [required: >=2.0, installed: 7.0]
> > - itsdangerous [required: >=0.21, installed: 0.24]
> > - Jinja2 [required: >=2.4, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - Werkzeug [required: >=0.7, installed: 0.14.1]
> > - flask-swagger [required: ==0.2.13, installed: 0.2.13]
> > - Flask [required: >=0.10, installed: 0.12.4]
> > - click [required: >=2.0, installed: 7.0]
> > - itsdangerous [required: >=0.21, installed: 0.24]
> > - Jinja2 [required: >=2.4, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - Werkzeug [required: >=0.7, installed: 0.14.1]
> > - PyYAML [required: >=3.0, installed: 3.13]
> > - flask-wtf [required: >=0.14.2,<0.15, installed: 0.14.2]
> > - Flask [required: Any, installed: 0.12.4]
> > - click [required: >=2.0, installed: 7.0]
> > - itsdangerous [required: >=0.21, installed: 0.24]
> > - Jinja2 [required: >=2.4, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - Werkzeug [required: >=0.7, installed: 0.14.1]
> > - WTForms [required: Any, installed: 2.2.1]
> > - funcsigs [required: ==1.0.0, installed: 1.0.0]
> > - ordereddict [required: Any, installed: 1.1]
> > - future [required: >=0.16.0,<0.17, installed: 0.16.0]
> > - gitpython [required: >=2.0.2, installed: 2.1.11]
> > - gitdb2 [required: >=2.0.0, installed: 2.0.4]
> > - smmap2 [required: >=2.0.0, installed: 2.0.4]
> > - gunicorn [required: >=19.4.0,<20.0, installed: 19.9.0]
> > - iso8601 [required: >=0.1.12, installed: 0.1.12]
> > - jinja2 [required: >=2.7.3,<2.9.0, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - lxml [required: >=4.0.0, installed: 4.2.5]
> > - markdown [required: >=2.5.2,<3.0, installed: 2.6.11]
> > - pandas [required: >=0.17.1,<1.0.0, installed: 0.23.4]
> > - numpy [required: >=1.9.0, installed: 1.15.2]
> > - python-dateutil [required: >=2.5.0, installed: 2.7.3]
> > - six [required: >=1.5, installed: 1.11.0]
> > - pytz [required: >=2011k, installed: 2018.5]
> > - pendulum [required: ==1.4.4, installed: 1.4.4]
> > - python-dateutil [required: >=2.6.0.0,<3.0.0.0, installed: 2.7.3]
> > - six [required: >=1.5, installed: 1.11.0]
> > - pytzdata [required: >=2018.3.0.0, installed: 2018.5]
> > - tzlocal [required: >=1.5.0.0,<2.0.0.0, installed: 1.5.1]
> > - pytz [required: Any, installed: 2018.5]
> > - psutil [required: >=4.2.0,<6.0.0, installed: 5.4.7]
> > - pygments [required: >=2.0.1,<3.0, installed: 2.2.0]
> > - python-daemon [required: >=2.1.1,<2.2, installed: 2.1.2]
> > - docutils [required: Any, installed: 0.14]
> > - lockfile [required: >=0.10, installed: 0.12.2]
> > - setuptools [required: Any, installed: 40.4.3]
> > - python-dateutil [required: >=2.3,<3, installed: 2.7.3]
> > - six [required: >=1.5, installed: 1.11.0]
> > - python-nvd3 [required: ==0.15.0, installed: 0.15.0]
> > - Jinja2 [required: >=2.8, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - python-slugify [required: >=1.2.5, installed: 1.2.6]
> > - Unidecode [required: >=0.04.16, installed: 1.0.22]
> > - requests [required: >=2.5.1,<3, installed: 2.19.1]
> > - certifi [required: >=2017.4.17, installed: 2018.8.24]
> > - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
> > - idna [required: >=2.5,<2.8, installed: 2.7]
> > - urllib3 [required: >=1.21.1,<1.24, installed: 1.23]
> > - setproctitle [required: >=1.1.8,<2, installed: 1.1.10]
> > - sqlalchemy [required: >=1.1.15,<1.2.0, installed: 1.1.18]
> > - tabulate [required: >=0.7.5,<=0.8.2, installed: 0.8.2]
> > - tenacity [required: ==4.8.0, installed: 4.8.0]
> > - monotonic [required: >=0.6, installed: 1.5]
> > - six [required: >=1.9.0, installed: 1.11.0]
> > - thrift [required: >=0.9.2, installed: 0.11.0]
> > - six [required: >=1.7.2, installed: 1.11.0]
> > - tzlocal [required: >=1.4, installed: 1.5.1]
> > - pytz [required: Any, installed: 2018.5]
> > - unicodecsv [required: >=0.14.1, installed: 0.14.1]
> > - werkzeug [required: >=0.14.1,<0.15.0, installed: 0.14.1]
> > - zope.deprecation [required: >=4.0,<5.0, installed: 4.3.0]
> > - setuptools [required: Any, installed: 40.4.3]
> >
> > On Thu, Oct 4, 2018 at 11:29 AM Kyle Hamlin <ha...@gmail.com> wrote:
> >
> >> whoops remove the [[source]] at the end of the url = "
> >> https://pypi.python.org/simple" that is a typo.
> >>
> >> On Thu, Oct 4, 2018 at 11:26 AM Kyle Hamlin <ha...@gmail.com>
> wrote:
> >>
> >>> Thank you for the response Ash.
> >>>
> >>> Even with your suggestion, there appear to be version conflicts all
> over
> >>> the place. Can you get this Pipfile to install because I cannot?
> >>>
> >>> *Pipfile:*
> >>>
> >>> [[source]]
> >>> url = "https://pypi.python.org/simple" [[source]]
> >>> verify_ssl = true
> >>> name = "pypi"
> >>>
> >>> [packages]
> >>> apache-airflow = {editable = true, ref =
> >>> "fb5ffd146a5a33820cfa7541e5ce09098f3d541a", git = "
> >>> https://github.com/apache/incubator-airflow.git", extras = ["s3",
> >>> "slack", "kubernetes", "celery", "postgres", "mongo", "crypto"]}
> >>> Flask-AppBuilder="==1.11.0"
> >>>
> >>> [requires]
> >>> python_version = "3.6"
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> On Thu, Oct 4, 2018 at 10:50 AM Ash Berlin-Taylor <as...@apache.org>
> wrote:
> >>>
> >>>> We've committed a fix for this to master and will include it in a
> 1.10.1
> >>>>
> https://github.com/apache/incubator-airflow/commit/fb5ffd146a5a33820cfa7541e5ce09098f3d541a
> >>>>
> >>>>
> >>>> For installing in the mea time pin `Flask-AppBuilder=1.11.0'
> >>>>
> >>>>> On 4 Oct 2018, at 00:41, Kyle Hamlin <ha...@gmail.com> wrote:
> >>>>>
> >>>>> Hi,
> >>>>>
> >>>>> Today I was trying to upgrade Airflow to 1.10.0 and it appears that
> >>>> there
> >>>>> are some version conflicts with click and flask-login. I uncovered
> >>>> these
> >>>>> because I use Pipenv to manage our project's dependencies. You can
> see
> >>>> here
> >>>>> that Flask-AppBuilder pins click==6.7 and flask-login>=0.3,<0.5
> >>>>>
> >>>>>
> >>>>
> https://github.com/dpgaspar/Flask-AppBuilder/blob/master/setup.py#L37-L47
> >>>>>
> >>>>> I'm able to force pipenv to install click==6.7 because that is not
> >>>> pinned
> >>>>> in Airflow's setup.py, but I can do nothing about flask-login because
> >>>>> Airflow pins the flask-login version:
> >>>>>
> https://github.com/apache/incubator-airflow/blob/master/setup.py#L304
> >>>>>
> >>>>> This prevents me from being able to upgrade to 1.10.0.
> >>>>>
> >>>>> *Pipenv's Graphed project dependencies (conflicts highlighted):*
> >>>>>
> >>>>> apache-airflow==1.10.0
> >>>>> - alembic [required: >=0.8.3,<0.9, installed: 0.8.10]
> >>>>> - Mako [required: Any, installed: 1.0.7]
> >>>>> - MarkupSafe [required: >=0.9.2, installed: 1.0]
> >>>>> - python-editor [required: >=0.3, installed: 1.0.3]
> >>>>> - SQLAlchemy [required: >=0.7.6, installed: 1.2.12]
> >>>>> - bleach [required: ==2.1.2, installed: 2.1.2]
> >>>>> - html5lib [required:
> >>>>>>
> >>>>
> =0.99999999pre,!=1.0b8,!=1.0b7,!=1.0b6,!=1.0b5,!=1.0b4,!=1.0b3,!=1.0b2,!=1.0b1,
> >>>>> installed: 1.0.1]
> >>>>> - six [required: >=1.9, installed: 1.11.0]
> >>>>> - webencodings [required: Any, installed: 0.5.1]
> >>>>> - six [required: Any, installed: 1.11.0]
> >>>>> - configparser [required: >=3.5.0,<3.6.0, installed: 3.5.0]
> >>>>> - croniter [required: >=0.3.17,<0.4, installed: 0.3.25]
> >>>>> - python-dateutil [required: Any, installed: 2.7.3]
> >>>>> - six [required: >=1.5, installed: 1.11.0]
> >>>>> - dill [required: >=0.2.2,<0.3, installed: 0.2.8.2]
> >>>>> - flask [required: >=0.12.4,<0.13, installed: 0.12.4]
> >>>>> - click [required: >=2.0, installed: 7.0]
> >>>>> - itsdangerous [required: >=0.21, installed: 0.24]
> >>>>> - Jinja2 [required: >=2.4, installed: 2.8.1]
> >>>>> - MarkupSafe [required: Any, installed: 1.0]
> >>>>> - Werkzeug [required: >=0.7, installed: 0.14.1]
> >>>>> - flask-admin [required: ==1.4.1, installed: 1.4.1]
> >>>>> - Flask [required: >=0.7, installed: 0.12.4]
> >>>>> - click [required: >=2.0, installed: 7.0]
> >>>>> - itsdangerous [required: >=0.21, installed: 0.24]
> >>>>> - Jinja2 [required: >=2.4, installed: 2.8.1]
> >>>>> - MarkupSafe [required: Any, installed: 1.0]
> >>>>> - Werkzeug [required: >=0.7, installed: 0.14.1]
> >>>>> - wtforms [required: Any, installed: 2.2.1]
> >>>>> - flask-appbuilder [required: >=1.11.1,<2.0.0, installed: 1.12.0]
> >>>>> - click [required: ==6.7, installed: 7.0]
> >>>>> - colorama [required: ==0.3.9, installed: 0.3.9]
> >>>>> - Flask [required: >=0.10.0,<0.12.99, installed: 0.12.4]
> >>>>> - click [required: >=2.0, installed: 7.0]
> >>>>> - itsdangerous [required: >=0.21, installed: 0.24]
> >>>>> - Jinja2 [required: >=2.4, installed: 2.8.1]
> >>>>> - MarkupSafe [required: Any, installed: 1.0]
> >>>>> - Werkzeug [required: >=0.7, installed: 0.14.1]
> >>>>> - Flask-Babel [required: ==0.11.1, installed: 0.11.1]
> >>>>> - Babel [required: >=2.3, installed: 2.6.0]
> >>>>> - pytz [required: >=0a, installed: 2018.5]
> >>>>> - Flask [required: Any, installed: 0.12.4]
> >>>>> - click [required: >=2.0, installed: 7.0]
> >>>>> - itsdangerous [required: >=0.21, installed: 0.24]
> >>>>> - Jinja2 [required: >=2.4, installed: 2.8.1]
> >>>>> - MarkupSafe [required: Any, installed: 1.0]
> >>>>> - Werkzeug [required: >=0.7, installed: 0.14.1]
> >>>>> - Jinja2 [required: >=2.5, installed: 2.8.1]
> >>>>> - MarkupSafe [required: Any, installed: 1.0]
> >>>>> - Flask-Login [required: >=0.3,<0.5, installed: 0.2.11]
> >>>>> - Flask [required: Any, installed: 0.12.4]
> >>>>> - click [required: >=2.0, installed: 7.0]
> >>>>> - itsdangerous [required: >=0.21, installed: 0.24]
> >>>>> - Jinja2 [required: >=2.4, installed: 2.8.1]
> >>>>> - MarkupSafe [required: Any, installed: 1.0]
> >>>>> - Werkzeug [required: >=0.7, installed: 0.14.1]
> >>>>> - Flask-OpenID [required: ==1.2.5, installed: 1.2.5]
> >>>>> - Flask [required: >=0.10.1, installed: 0.12.4]
> >>>>> - click [required: >=2.0, installed: 7.0]
> >>>>> - itsdangerous [required: >=0.21, installed: 0.24]
> >>>>> - Jinja2 [required: >=2.4, installed: 2.8.1]
> >>>>> - MarkupSafe [required: Any, installed: 1.0]
> >>>>> - Werkzeug [required: >=0.7, installed: 0.14.1]
> >>>>> - python3-openid [required: >=2.0, installed: 3.1.0]
> >>>>> - defusedxml [required: Any, installed: 0.5.0]
> >>>>> - Flask-SQLAlchemy [required: ==2.1, installed: 2.1]
> >>>>> - Flask [required: >=0.10, installed: 0.12.4]
> >>>>> - click [required: >=2.0, installed: 7.0]
> >>>>> - itsdangerous [required: >=0.21, installed: 0.24]
> >>>>> - Jinja2 [required: >=2.4, installed: 2.8.1]
> >>>>> - MarkupSafe [required: Any, installed: 1.0]
> >>>>> - Werkzeug [required: >=0.7, installed: 0.14.1]
> >>>>> - SQLAlchemy [required: >=0.7, installed: 1.2.12]
> >>>>> - Flask-WTF [required: ==0.14.2, installed: 0.14.2]
> >>>>> - Flask [required: Any, installed: 0.12.4]
> >>>>> - click [required: >=2.0, installed: 7.0]
> >>>>> - itsdangerous [required: >=0.21, installed: 0.24]
> >>>>> - Jinja2 [required: >=2.4, installed: 2.8.1]
> >>>>> - MarkupSafe [required: Any, installed: 1.0]
> >>>>> - Werkzeug [required: >=0.7, installed: 0.14.1]
> >>>>> - WTForms [required: Any, installed: 2.2.1]
> >>>>> - python-dateutil [required: >=2.3,<3, installed: 2.7.3]
> >>>>> - six [required: >=1.5, installed: 1.11.0]
> >>>>> - flask-caching [required: >=1.3.3,<1.4.0, installed: 1.3.3]
> >>>>> - Flask [required: Any, installed: 0.12.4]
> >>>>> - click [required: >=2.0, installed: 7.0]
> >>>>> - itsdangerous [required: >=0.21, installed: 0.24]
> >>>>> - Jinja2 [required: >=2.4, installed: 2.8.1]
> >>>>> - MarkupSafe [required: Any, installed: 1.0]
> >>>>> - Werkzeug [required: >=0.7, installed: 0.14.1]
> >>>>> - Werkzeug [required: >=0.12, installed: 0.14.1]
> >>>>> - flask-login [required: ==0.2.11, installed: 0.2.11]
> >>>>> - Flask [required: Any, installed: 0.12.4]
> >>>>> - click [required: >=2.0, installed: 7.0]
> >>>>> - itsdangerous [required: >=0.21, installed: 0.24]
> >>>>> - Jinja2 [required: >=2.4, installed: 2.8.1]
> >>>>> - MarkupSafe [required: Any, installed: 1.0]
> >>>>> - Werkzeug [required: >=0.7, installed: 0.14.1]
> >>>>> - flask-swagger [required: ==0.2.13, installed: 0.2.13]
> >>>>> - Flask [required: >=0.10, installed: 0.12.4]
> >>>>> - click [required: >=2.0, installed: 7.0]
> >>>>> - itsdangerous [required: >=0.21, installed: 0.24]
> >>>>> - Jinja2 [required: >=2.4, installed: 2.8.1]
> >>>>> - MarkupSafe [required: Any, installed: 1.0]
> >>>>> - Werkzeug [required: >=0.7, installed: 0.14.1]
> >>>>> - PyYAML [required: >=3.0, installed: 3.13]
> >>>>> - flask-wtf [required: >=0.14.2,<0.15, installed: 0.14.2]
> >>>>> - Flask [required: Any, installed: 0.12.4]
> >>>>> - click [required: >=2.0, installed: 7.0]
> >>>>> - itsdangerous [required: >=0.21, installed: 0.24]
> >>>>> - Jinja2 [required: >=2.4, installed: 2.8.1]
> >>>>> - MarkupSafe [required: Any, installed: 1.0]
> >>>>> - Werkzeug [required: >=0.7, installed: 0.14.1]
> >>>>> - WTForms [required: Any, installed: 2.2.1]
> >>>>> - funcsigs [required: ==1.0.0, installed: 1.0.0]
> >>>>> - ordereddict [required: Any, installed: 1.1]
> >>>>> - future [required: >=0.16.0,<0.17, installed: 0.16.0]
> >>>>> - gitpython [required: >=2.0.2, installed: 2.1.11]
> >>>>> - gitdb2 [required: >=2.0.0, installed: 2.0.4]
> >>>>> - smmap2 [required: >=2.0.0, installed: 2.0.4]
> >>>>> - gunicorn [required: >=19.4.0,<20.0, installed: 19.9.0]
> >>>>> - iso8601 [required: >=0.1.12, installed: 0.1.12]
> >>>>> - jinja2 [required: >=2.7.3,<2.9.0, installed: 2.8.1]
> >>>>> - MarkupSafe [required: Any, installed: 1.0]
> >>>>> - lxml [required: >=3.6.0,<4.0, installed: 3.8.0]
> >>>>> - markdown [required: >=2.5.2,<3.0, installed: 2.6.11]
> >>>>> - pandas [required: >=0.17.1,<1.0.0, installed: 0.23.4]
> >>>>> - numpy [required: >=1.9.0, installed: 1.15.2]
> >>>>> - python-dateutil [required: >=2.5.0, installed: 2.7.3]
> >>>>> - six [required: >=1.5, installed: 1.11.0]
> >>>>> - pytz [required: >=2011k, installed: 2018.5]
> >>>>> - pendulum [required: ==1.4.4, installed: 1.4.4]
> >>>>> - python-dateutil [required: >=2.6.0.0,<3.0.0.0, installed: 2.7.3]
> >>>>> - six [required: >=1.5, installed: 1.11.0]
> >>>>> - pytzdata [required: >=2018.3.0.0, installed: 2018.5]
> >>>>> - tzlocal [required: >=1.5.0.0,<2.0.0.0, installed: 1.5.1]
> >>>>> - pytz [required: Any, installed: 2018.5]
> >>>>> - psutil [required: >=4.2.0,<5.0.0, installed: 4.4.2]
> >>>>> - pygments [required: >=2.0.1,<3.0, installed: 2.2.0]
> >>>>> - python-daemon [required: >=2.1.1,<2.2, installed: 2.1.2]
> >>>>> - docutils [required: Any, installed: 0.14]
> >>>>> - lockfile [required: >=0.10, installed: 0.12.2]
> >>>>> - setuptools [required: Any, installed: 40.4.3]
> >>>>> - python-dateutil [required: >=2.3,<3, installed: 2.7.3]
> >>>>> - six [required: >=1.5, installed: 1.11.0]
> >>>>> - python-nvd3 [required: ==0.15.0, installed: 0.15.0]
> >>>>> - Jinja2 [required: >=2.8, installed: 2.8.1]
> >>>>> - MarkupSafe [required: Any, installed: 1.0]
> >>>>> - python-slugify [required: >=1.2.5, installed: 1.2.6]
> >>>>> - Unidecode [required: >=0.04.16, installed: 1.0.22]
> >>>>> - requests [required: >=2.5.1,<3, installed: 2.19.1]
> >>>>> - certifi [required: >=2017.4.17, installed: 2018.8.24]
> >>>>> - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
> >>>>> - idna [required: >=2.5,<2.8, installed: 2.7]
> >>>>> - urllib3 [required: >=1.21.1,<1.24, installed: 1.23]
> >>>>> - setproctitle [required: >=1.1.8,<2, installed: 1.1.10]
> >>>>> - sqlalchemy [required: >=1.1.15,<1.2.0, installed: 1.2.12]
> >>>>> - tabulate [required: >=0.7.5,<0.8.0, installed: 0.7.7]
> >>>>> - tenacity [required: ==4.8.0, installed: 4.8.0]
> >>>>> - monotonic [required: >=0.6, installed: 1.5]
> >>>>> - six [required: >=1.9.0, installed: 1.11.0]
> >>>>> - thrift [required: >=0.9.2, installed: 0.11.0]
> >>>>> - six [required: >=1.7.2, installed: 1.11.0]
> >>>>> - tzlocal [required: >=1.4, installed: 1.5.1]
> >>>>> - pytz [required: Any, installed: 2018.5]
> >>>>> - unicodecsv [required: >=0.14.1, installed: 0.14.1]
> >>>>> - werkzeug [required: >=0.14.1,<0.15.0, installed: 0.14.1]
> >>>>> - zope.deprecation [required: >=4.0,<5.0, installed: 4.3.0]
> >>>>> - setuptools [required: Any, installed: 40.4.3]
> >>>>>
> >>>>> --
> >>>>> Kyle Hamlin
> >>>>
> >>>>
> >>>
> >>> --
> >>> Kyle Hamlin
> >>>
> >>
> >>
> >> --
> >> Kyle Hamlin
> >>
> >
> >
> > --
> > Kyle Hamlin
>
>
--
Kyle Hamlin
Re: Flask-AppBuilder has pinned versions of Click & Flask-Login in
1.10.0
Posted by Ash Berlin-Taylor <as...@apache.org>.
Oh I meant FAB 1.11.1.
And it looks like the Jinja issue is a bug in pip-tools, where it treats a dep of "jina" as actually being "jinja>=CURRENT" https://github.com/pypa/pipenv/issues/2596 <https://github.com/pypa/pipenv/issues/2596>
In short: pip-env isn't ready for real-world use yet? (I'm guessing and extrapolating, but I haven't used it myself so don't trust my word on this)
-ash
> On 4 Oct 2018, at 16:38, Kyle Hamlin <ha...@gmail.com> wrote:
>
> If I remove the Flask-AppBuild pinning to 1.11.0 then it uncovers a Jinja2
> conflict which is baffling because I don't see anywhere in the graph that
> jinja2 >=2.10 is required.
>
> Could not find a version that matches
> jinja2<2.9.0,>=2.10,>=2.4,>=2.5,>=2.7.3,>=2.8
> Tried: 2.0, 2.1, 2.1.1, 2.2, 2.2.1, 2.3, 2.3.1, 2.4, 2.4.1, 2.5, 2.5.1,
> 2.5.2, 2.5.3, 2.5.4, 2.5.5, 2.6, 2.7, 2.7.1, 2.7.2, 2.7.3, 2.8, 2.8, 2.8.1,
> 2.8.1, 2.9, 2.9, 2.9.1, 2.9.1, 2.9.2, 2.9.2, 2.9.3, 2.9.3, 2.9.4, 2.9.4,
> 2.9.5, 2.9.5, 2.9.6, 2.9.6, 2.10, 2.10
>
> I highlighted why the dep fails there one dep that requires Jinjs2 < 2.9.0
> but I still have not idea where the 2.10.0 comes from.
>
> apache-airflow==2.0.0.dev0+incubating
> - alembic [required: >=0.9,<1.0, installed: 0.9.10]
> - Mako [required: Any, installed: 1.0.7]
> - MarkupSafe [required: >=0.9.2, installed: 1.0]
> - python-dateutil [required: Any, installed: 2.7.3]
> - six [required: >=1.5, installed: 1.11.0]
> - python-editor [required: >=0.3, installed: 1.0.3]
> - SQLAlchemy [required: >=0.7.6, installed: 1.1.18]
> - bleach [required: ~=2.1.3, installed: 2.1.4]
> - html5lib [required:
>> =0.99999999pre,!=1.0b8,!=1.0b7,!=1.0b6,!=1.0b5,!=1.0b4,!=1.0b3,!=1.0b2,!=1.0b1,
> installed: 1.0.1]
> - six [required: >=1.9, installed: 1.11.0]
> - webencodings [required: Any, installed: 0.5.1]
> - six [required: Any, installed: 1.11.0]
> - configparser [required: >=3.5.0,<3.6.0, installed: 3.5.0]
> - croniter [required: >=0.3.17,<0.4, installed: 0.3.25]
> - python-dateutil [required: Any, installed: 2.7.3]
> - six [required: >=1.5, installed: 1.11.0]
> - dill [required: >=0.2.2,<0.3, installed: 0.2.8.2]
> - flask [required: >=0.12.4,<0.13, installed: 0.12.4]
> - click [required: >=2.0, installed: 7.0]
> - itsdangerous [required: >=0.21, installed: 0.24]
> - Jinja2 [required: >=2.4, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - Werkzeug [required: >=0.7, installed: 0.14.1]
> - flask-admin [required: ==1.4.1, installed: 1.4.1]
> - Flask [required: >=0.7, installed: 0.12.4]
> - click [required: >=2.0, installed: 7.0]
> - itsdangerous [required: >=0.21, installed: 0.24]
> - Jinja2 [required: >=2.4, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - Werkzeug [required: >=0.7, installed: 0.14.1]
> - wtforms [required: Any, installed: 2.2.1]
> - flask-appbuilder [required: >=1.12,<2.0.0, installed: 1.12.0]
> - click [required: ==6.7, installed: 7.0]
> - colorama [required: ==0.3.9, installed: 0.3.9]
> - Flask [required: >=0.10.0,<0.12.99, installed: 0.12.4]
> - click [required: >=2.0, installed: 7.0]
> - itsdangerous [required: >=0.21, installed: 0.24]
> - Jinja2 [required: >=2.4, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - Werkzeug [required: >=0.7, installed: 0.14.1]
> - Flask-Babel [required: ==0.11.1, installed: 0.11.1]
> - Babel [required: >=2.3, installed: 2.6.0]
> - pytz [required: >=0a, installed: 2018.5]
> - Flask [required: Any, installed: 0.12.4]
> - click [required: >=2.0, installed: 7.0]
> - itsdangerous [required: >=0.21, installed: 0.24]
> - Jinja2 [required: >=2.4, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - Werkzeug [required: >=0.7, installed: 0.14.1]
> - Jinja2 [required: >=2.5, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - Flask-Login [required: >=0.3,<0.5, installed: 0.4.1]
> - Flask [required: Any, installed: 0.12.4]
> - click [required: >=2.0, installed: 7.0]
> - itsdangerous [required: >=0.21, installed: 0.24]
> - Jinja2 [required: >=2.4, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - Werkzeug [required: >=0.7, installed: 0.14.1]
> - Flask-OpenID [required: ==1.2.5, installed: 1.2.5]
> - Flask [required: >=0.10.1, installed: 0.12.4]
> - click [required: >=2.0, installed: 7.0]
> - itsdangerous [required: >=0.21, installed: 0.24]
> - Jinja2 [required: >=2.4, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - Werkzeug [required: >=0.7, installed: 0.14.1]
> - python3-openid [required: >=2.0, installed: 3.1.0]
> - defusedxml [required: Any, installed: 0.5.0]
> - Flask-SQLAlchemy [required: ==2.1, installed: 2.1]
> - Flask [required: >=0.10, installed: 0.12.4]
> - click [required: >=2.0, installed: 7.0]
> - itsdangerous [required: >=0.21, installed: 0.24]
> - Jinja2 [required: >=2.4, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - Werkzeug [required: >=0.7, installed: 0.14.1]
> - SQLAlchemy [required: >=0.7, installed: 1.1.18]
> - Flask-WTF [required: ==0.14.2, installed: 0.14.2]
> - Flask [required: Any, installed: 0.12.4]
> - click [required: >=2.0, installed: 7.0]
> - itsdangerous [required: >=0.21, installed: 0.24]
> - Jinja2 [required: >=2.4, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - Werkzeug [required: >=0.7, installed: 0.14.1]
> - WTForms [required: Any, installed: 2.2.1]
> - python-dateutil [required: >=2.3,<3, installed: 2.7.3]
> - six [required: >=1.5, installed: 1.11.0]
> - flask-caching [required: >=1.3.3,<1.4.0, installed: 1.3.3]
> - Flask [required: Any, installed: 0.12.4]
> - click [required: >=2.0, installed: 7.0]
> - itsdangerous [required: >=0.21, installed: 0.24]
> - Jinja2 [required: >=2.4, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - Werkzeug [required: >=0.7, installed: 0.14.1]
> - Werkzeug [required: >=0.12, installed: 0.14.1]
> - flask-login [required: >=0.3,<0.5, installed: 0.4.1]
> - Flask [required: Any, installed: 0.12.4]
> - click [required: >=2.0, installed: 7.0]
> - itsdangerous [required: >=0.21, installed: 0.24]
> - Jinja2 [required: >=2.4, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - Werkzeug [required: >=0.7, installed: 0.14.1]
> - flask-swagger [required: ==0.2.13, installed: 0.2.13]
> - Flask [required: >=0.10, installed: 0.12.4]
> - click [required: >=2.0, installed: 7.0]
> - itsdangerous [required: >=0.21, installed: 0.24]
> - Jinja2 [required: >=2.4, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - Werkzeug [required: >=0.7, installed: 0.14.1]
> - PyYAML [required: >=3.0, installed: 3.13]
> - flask-wtf [required: >=0.14.2,<0.15, installed: 0.14.2]
> - Flask [required: Any, installed: 0.12.4]
> - click [required: >=2.0, installed: 7.0]
> - itsdangerous [required: >=0.21, installed: 0.24]
> - Jinja2 [required: >=2.4, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - Werkzeug [required: >=0.7, installed: 0.14.1]
> - WTForms [required: Any, installed: 2.2.1]
> - funcsigs [required: ==1.0.0, installed: 1.0.0]
> - ordereddict [required: Any, installed: 1.1]
> - future [required: >=0.16.0,<0.17, installed: 0.16.0]
> - gitpython [required: >=2.0.2, installed: 2.1.11]
> - gitdb2 [required: >=2.0.0, installed: 2.0.4]
> - smmap2 [required: >=2.0.0, installed: 2.0.4]
> - gunicorn [required: >=19.4.0,<20.0, installed: 19.9.0]
> - iso8601 [required: >=0.1.12, installed: 0.1.12]
> - jinja2 [required: >=2.7.3,<2.9.0, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - lxml [required: >=4.0.0, installed: 4.2.5]
> - markdown [required: >=2.5.2,<3.0, installed: 2.6.11]
> - pandas [required: >=0.17.1,<1.0.0, installed: 0.23.4]
> - numpy [required: >=1.9.0, installed: 1.15.2]
> - python-dateutil [required: >=2.5.0, installed: 2.7.3]
> - six [required: >=1.5, installed: 1.11.0]
> - pytz [required: >=2011k, installed: 2018.5]
> - pendulum [required: ==1.4.4, installed: 1.4.4]
> - python-dateutil [required: >=2.6.0.0,<3.0.0.0, installed: 2.7.3]
> - six [required: >=1.5, installed: 1.11.0]
> - pytzdata [required: >=2018.3.0.0, installed: 2018.5]
> - tzlocal [required: >=1.5.0.0,<2.0.0.0, installed: 1.5.1]
> - pytz [required: Any, installed: 2018.5]
> - psutil [required: >=4.2.0,<6.0.0, installed: 5.4.7]
> - pygments [required: >=2.0.1,<3.0, installed: 2.2.0]
> - python-daemon [required: >=2.1.1,<2.2, installed: 2.1.2]
> - docutils [required: Any, installed: 0.14]
> - lockfile [required: >=0.10, installed: 0.12.2]
> - setuptools [required: Any, installed: 40.4.3]
> - python-dateutil [required: >=2.3,<3, installed: 2.7.3]
> - six [required: >=1.5, installed: 1.11.0]
> - python-nvd3 [required: ==0.15.0, installed: 0.15.0]
> - Jinja2 [required: >=2.8, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - python-slugify [required: >=1.2.5, installed: 1.2.6]
> - Unidecode [required: >=0.04.16, installed: 1.0.22]
> - requests [required: >=2.5.1,<3, installed: 2.19.1]
> - certifi [required: >=2017.4.17, installed: 2018.8.24]
> - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
> - idna [required: >=2.5,<2.8, installed: 2.7]
> - urllib3 [required: >=1.21.1,<1.24, installed: 1.23]
> - setproctitle [required: >=1.1.8,<2, installed: 1.1.10]
> - sqlalchemy [required: >=1.1.15,<1.2.0, installed: 1.1.18]
> - tabulate [required: >=0.7.5,<=0.8.2, installed: 0.8.2]
> - tenacity [required: ==4.8.0, installed: 4.8.0]
> - monotonic [required: >=0.6, installed: 1.5]
> - six [required: >=1.9.0, installed: 1.11.0]
> - thrift [required: >=0.9.2, installed: 0.11.0]
> - six [required: >=1.7.2, installed: 1.11.0]
> - tzlocal [required: >=1.4, installed: 1.5.1]
> - pytz [required: Any, installed: 2018.5]
> - unicodecsv [required: >=0.14.1, installed: 0.14.1]
> - werkzeug [required: >=0.14.1,<0.15.0, installed: 0.14.1]
> - zope.deprecation [required: >=4.0,<5.0, installed: 4.3.0]
> - setuptools [required: Any, installed: 40.4.3]
>
> On Thu, Oct 4, 2018 at 11:29 AM Kyle Hamlin <ha...@gmail.com> wrote:
>
>> whoops remove the [[source]] at the end of the url = "
>> https://pypi.python.org/simple" that is a typo.
>>
>> On Thu, Oct 4, 2018 at 11:26 AM Kyle Hamlin <ha...@gmail.com> wrote:
>>
>>> Thank you for the response Ash.
>>>
>>> Even with your suggestion, there appear to be version conflicts all over
>>> the place. Can you get this Pipfile to install because I cannot?
>>>
>>> *Pipfile:*
>>>
>>> [[source]]
>>> url = "https://pypi.python.org/simple" [[source]]
>>> verify_ssl = true
>>> name = "pypi"
>>>
>>> [packages]
>>> apache-airflow = {editable = true, ref =
>>> "fb5ffd146a5a33820cfa7541e5ce09098f3d541a", git = "
>>> https://github.com/apache/incubator-airflow.git", extras = ["s3",
>>> "slack", "kubernetes", "celery", "postgres", "mongo", "crypto"]}
>>> Flask-AppBuilder="==1.11.0"
>>>
>>> [requires]
>>> python_version = "3.6"
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Thu, Oct 4, 2018 at 10:50 AM Ash Berlin-Taylor <as...@apache.org> wrote:
>>>
>>>> We've committed a fix for this to master and will include it in a 1.10.1
>>>> https://github.com/apache/incubator-airflow/commit/fb5ffd146a5a33820cfa7541e5ce09098f3d541a
>>>>
>>>>
>>>> For installing in the mea time pin `Flask-AppBuilder=1.11.0'
>>>>
>>>>> On 4 Oct 2018, at 00:41, Kyle Hamlin <ha...@gmail.com> wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> Today I was trying to upgrade Airflow to 1.10.0 and it appears that
>>>> there
>>>>> are some version conflicts with click and flask-login. I uncovered
>>>> these
>>>>> because I use Pipenv to manage our project's dependencies. You can see
>>>> here
>>>>> that Flask-AppBuilder pins click==6.7 and flask-login>=0.3,<0.5
>>>>>
>>>>>
>>>> https://github.com/dpgaspar/Flask-AppBuilder/blob/master/setup.py#L37-L47
>>>>>
>>>>> I'm able to force pipenv to install click==6.7 because that is not
>>>> pinned
>>>>> in Airflow's setup.py, but I can do nothing about flask-login because
>>>>> Airflow pins the flask-login version:
>>>>> https://github.com/apache/incubator-airflow/blob/master/setup.py#L304
>>>>>
>>>>> This prevents me from being able to upgrade to 1.10.0.
>>>>>
>>>>> *Pipenv's Graphed project dependencies (conflicts highlighted):*
>>>>>
>>>>> apache-airflow==1.10.0
>>>>> - alembic [required: >=0.8.3,<0.9, installed: 0.8.10]
>>>>> - Mako [required: Any, installed: 1.0.7]
>>>>> - MarkupSafe [required: >=0.9.2, installed: 1.0]
>>>>> - python-editor [required: >=0.3, installed: 1.0.3]
>>>>> - SQLAlchemy [required: >=0.7.6, installed: 1.2.12]
>>>>> - bleach [required: ==2.1.2, installed: 2.1.2]
>>>>> - html5lib [required:
>>>>>>
>>>> =0.99999999pre,!=1.0b8,!=1.0b7,!=1.0b6,!=1.0b5,!=1.0b4,!=1.0b3,!=1.0b2,!=1.0b1,
>>>>> installed: 1.0.1]
>>>>> - six [required: >=1.9, installed: 1.11.0]
>>>>> - webencodings [required: Any, installed: 0.5.1]
>>>>> - six [required: Any, installed: 1.11.0]
>>>>> - configparser [required: >=3.5.0,<3.6.0, installed: 3.5.0]
>>>>> - croniter [required: >=0.3.17,<0.4, installed: 0.3.25]
>>>>> - python-dateutil [required: Any, installed: 2.7.3]
>>>>> - six [required: >=1.5, installed: 1.11.0]
>>>>> - dill [required: >=0.2.2,<0.3, installed: 0.2.8.2]
>>>>> - flask [required: >=0.12.4,<0.13, installed: 0.12.4]
>>>>> - click [required: >=2.0, installed: 7.0]
>>>>> - itsdangerous [required: >=0.21, installed: 0.24]
>>>>> - Jinja2 [required: >=2.4, installed: 2.8.1]
>>>>> - MarkupSafe [required: Any, installed: 1.0]
>>>>> - Werkzeug [required: >=0.7, installed: 0.14.1]
>>>>> - flask-admin [required: ==1.4.1, installed: 1.4.1]
>>>>> - Flask [required: >=0.7, installed: 0.12.4]
>>>>> - click [required: >=2.0, installed: 7.0]
>>>>> - itsdangerous [required: >=0.21, installed: 0.24]
>>>>> - Jinja2 [required: >=2.4, installed: 2.8.1]
>>>>> - MarkupSafe [required: Any, installed: 1.0]
>>>>> - Werkzeug [required: >=0.7, installed: 0.14.1]
>>>>> - wtforms [required: Any, installed: 2.2.1]
>>>>> - flask-appbuilder [required: >=1.11.1,<2.0.0, installed: 1.12.0]
>>>>> - click [required: ==6.7, installed: 7.0]
>>>>> - colorama [required: ==0.3.9, installed: 0.3.9]
>>>>> - Flask [required: >=0.10.0,<0.12.99, installed: 0.12.4]
>>>>> - click [required: >=2.0, installed: 7.0]
>>>>> - itsdangerous [required: >=0.21, installed: 0.24]
>>>>> - Jinja2 [required: >=2.4, installed: 2.8.1]
>>>>> - MarkupSafe [required: Any, installed: 1.0]
>>>>> - Werkzeug [required: >=0.7, installed: 0.14.1]
>>>>> - Flask-Babel [required: ==0.11.1, installed: 0.11.1]
>>>>> - Babel [required: >=2.3, installed: 2.6.0]
>>>>> - pytz [required: >=0a, installed: 2018.5]
>>>>> - Flask [required: Any, installed: 0.12.4]
>>>>> - click [required: >=2.0, installed: 7.0]
>>>>> - itsdangerous [required: >=0.21, installed: 0.24]
>>>>> - Jinja2 [required: >=2.4, installed: 2.8.1]
>>>>> - MarkupSafe [required: Any, installed: 1.0]
>>>>> - Werkzeug [required: >=0.7, installed: 0.14.1]
>>>>> - Jinja2 [required: >=2.5, installed: 2.8.1]
>>>>> - MarkupSafe [required: Any, installed: 1.0]
>>>>> - Flask-Login [required: >=0.3,<0.5, installed: 0.2.11]
>>>>> - Flask [required: Any, installed: 0.12.4]
>>>>> - click [required: >=2.0, installed: 7.0]
>>>>> - itsdangerous [required: >=0.21, installed: 0.24]
>>>>> - Jinja2 [required: >=2.4, installed: 2.8.1]
>>>>> - MarkupSafe [required: Any, installed: 1.0]
>>>>> - Werkzeug [required: >=0.7, installed: 0.14.1]
>>>>> - Flask-OpenID [required: ==1.2.5, installed: 1.2.5]
>>>>> - Flask [required: >=0.10.1, installed: 0.12.4]
>>>>> - click [required: >=2.0, installed: 7.0]
>>>>> - itsdangerous [required: >=0.21, installed: 0.24]
>>>>> - Jinja2 [required: >=2.4, installed: 2.8.1]
>>>>> - MarkupSafe [required: Any, installed: 1.0]
>>>>> - Werkzeug [required: >=0.7, installed: 0.14.1]
>>>>> - python3-openid [required: >=2.0, installed: 3.1.0]
>>>>> - defusedxml [required: Any, installed: 0.5.0]
>>>>> - Flask-SQLAlchemy [required: ==2.1, installed: 2.1]
>>>>> - Flask [required: >=0.10, installed: 0.12.4]
>>>>> - click [required: >=2.0, installed: 7.0]
>>>>> - itsdangerous [required: >=0.21, installed: 0.24]
>>>>> - Jinja2 [required: >=2.4, installed: 2.8.1]
>>>>> - MarkupSafe [required: Any, installed: 1.0]
>>>>> - Werkzeug [required: >=0.7, installed: 0.14.1]
>>>>> - SQLAlchemy [required: >=0.7, installed: 1.2.12]
>>>>> - Flask-WTF [required: ==0.14.2, installed: 0.14.2]
>>>>> - Flask [required: Any, installed: 0.12.4]
>>>>> - click [required: >=2.0, installed: 7.0]
>>>>> - itsdangerous [required: >=0.21, installed: 0.24]
>>>>> - Jinja2 [required: >=2.4, installed: 2.8.1]
>>>>> - MarkupSafe [required: Any, installed: 1.0]
>>>>> - Werkzeug [required: >=0.7, installed: 0.14.1]
>>>>> - WTForms [required: Any, installed: 2.2.1]
>>>>> - python-dateutil [required: >=2.3,<3, installed: 2.7.3]
>>>>> - six [required: >=1.5, installed: 1.11.0]
>>>>> - flask-caching [required: >=1.3.3,<1.4.0, installed: 1.3.3]
>>>>> - Flask [required: Any, installed: 0.12.4]
>>>>> - click [required: >=2.0, installed: 7.0]
>>>>> - itsdangerous [required: >=0.21, installed: 0.24]
>>>>> - Jinja2 [required: >=2.4, installed: 2.8.1]
>>>>> - MarkupSafe [required: Any, installed: 1.0]
>>>>> - Werkzeug [required: >=0.7, installed: 0.14.1]
>>>>> - Werkzeug [required: >=0.12, installed: 0.14.1]
>>>>> - flask-login [required: ==0.2.11, installed: 0.2.11]
>>>>> - Flask [required: Any, installed: 0.12.4]
>>>>> - click [required: >=2.0, installed: 7.0]
>>>>> - itsdangerous [required: >=0.21, installed: 0.24]
>>>>> - Jinja2 [required: >=2.4, installed: 2.8.1]
>>>>> - MarkupSafe [required: Any, installed: 1.0]
>>>>> - Werkzeug [required: >=0.7, installed: 0.14.1]
>>>>> - flask-swagger [required: ==0.2.13, installed: 0.2.13]
>>>>> - Flask [required: >=0.10, installed: 0.12.4]
>>>>> - click [required: >=2.0, installed: 7.0]
>>>>> - itsdangerous [required: >=0.21, installed: 0.24]
>>>>> - Jinja2 [required: >=2.4, installed: 2.8.1]
>>>>> - MarkupSafe [required: Any, installed: 1.0]
>>>>> - Werkzeug [required: >=0.7, installed: 0.14.1]
>>>>> - PyYAML [required: >=3.0, installed: 3.13]
>>>>> - flask-wtf [required: >=0.14.2,<0.15, installed: 0.14.2]
>>>>> - Flask [required: Any, installed: 0.12.4]
>>>>> - click [required: >=2.0, installed: 7.0]
>>>>> - itsdangerous [required: >=0.21, installed: 0.24]
>>>>> - Jinja2 [required: >=2.4, installed: 2.8.1]
>>>>> - MarkupSafe [required: Any, installed: 1.0]
>>>>> - Werkzeug [required: >=0.7, installed: 0.14.1]
>>>>> - WTForms [required: Any, installed: 2.2.1]
>>>>> - funcsigs [required: ==1.0.0, installed: 1.0.0]
>>>>> - ordereddict [required: Any, installed: 1.1]
>>>>> - future [required: >=0.16.0,<0.17, installed: 0.16.0]
>>>>> - gitpython [required: >=2.0.2, installed: 2.1.11]
>>>>> - gitdb2 [required: >=2.0.0, installed: 2.0.4]
>>>>> - smmap2 [required: >=2.0.0, installed: 2.0.4]
>>>>> - gunicorn [required: >=19.4.0,<20.0, installed: 19.9.0]
>>>>> - iso8601 [required: >=0.1.12, installed: 0.1.12]
>>>>> - jinja2 [required: >=2.7.3,<2.9.0, installed: 2.8.1]
>>>>> - MarkupSafe [required: Any, installed: 1.0]
>>>>> - lxml [required: >=3.6.0,<4.0, installed: 3.8.0]
>>>>> - markdown [required: >=2.5.2,<3.0, installed: 2.6.11]
>>>>> - pandas [required: >=0.17.1,<1.0.0, installed: 0.23.4]
>>>>> - numpy [required: >=1.9.0, installed: 1.15.2]
>>>>> - python-dateutil [required: >=2.5.0, installed: 2.7.3]
>>>>> - six [required: >=1.5, installed: 1.11.0]
>>>>> - pytz [required: >=2011k, installed: 2018.5]
>>>>> - pendulum [required: ==1.4.4, installed: 1.4.4]
>>>>> - python-dateutil [required: >=2.6.0.0,<3.0.0.0, installed: 2.7.3]
>>>>> - six [required: >=1.5, installed: 1.11.0]
>>>>> - pytzdata [required: >=2018.3.0.0, installed: 2018.5]
>>>>> - tzlocal [required: >=1.5.0.0,<2.0.0.0, installed: 1.5.1]
>>>>> - pytz [required: Any, installed: 2018.5]
>>>>> - psutil [required: >=4.2.0,<5.0.0, installed: 4.4.2]
>>>>> - pygments [required: >=2.0.1,<3.0, installed: 2.2.0]
>>>>> - python-daemon [required: >=2.1.1,<2.2, installed: 2.1.2]
>>>>> - docutils [required: Any, installed: 0.14]
>>>>> - lockfile [required: >=0.10, installed: 0.12.2]
>>>>> - setuptools [required: Any, installed: 40.4.3]
>>>>> - python-dateutil [required: >=2.3,<3, installed: 2.7.3]
>>>>> - six [required: >=1.5, installed: 1.11.0]
>>>>> - python-nvd3 [required: ==0.15.0, installed: 0.15.0]
>>>>> - Jinja2 [required: >=2.8, installed: 2.8.1]
>>>>> - MarkupSafe [required: Any, installed: 1.0]
>>>>> - python-slugify [required: >=1.2.5, installed: 1.2.6]
>>>>> - Unidecode [required: >=0.04.16, installed: 1.0.22]
>>>>> - requests [required: >=2.5.1,<3, installed: 2.19.1]
>>>>> - certifi [required: >=2017.4.17, installed: 2018.8.24]
>>>>> - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
>>>>> - idna [required: >=2.5,<2.8, installed: 2.7]
>>>>> - urllib3 [required: >=1.21.1,<1.24, installed: 1.23]
>>>>> - setproctitle [required: >=1.1.8,<2, installed: 1.1.10]
>>>>> - sqlalchemy [required: >=1.1.15,<1.2.0, installed: 1.2.12]
>>>>> - tabulate [required: >=0.7.5,<0.8.0, installed: 0.7.7]
>>>>> - tenacity [required: ==4.8.0, installed: 4.8.0]
>>>>> - monotonic [required: >=0.6, installed: 1.5]
>>>>> - six [required: >=1.9.0, installed: 1.11.0]
>>>>> - thrift [required: >=0.9.2, installed: 0.11.0]
>>>>> - six [required: >=1.7.2, installed: 1.11.0]
>>>>> - tzlocal [required: >=1.4, installed: 1.5.1]
>>>>> - pytz [required: Any, installed: 2018.5]
>>>>> - unicodecsv [required: >=0.14.1, installed: 0.14.1]
>>>>> - werkzeug [required: >=0.14.1,<0.15.0, installed: 0.14.1]
>>>>> - zope.deprecation [required: >=4.0,<5.0, installed: 4.3.0]
>>>>> - setuptools [required: Any, installed: 40.4.3]
>>>>>
>>>>> --
>>>>> Kyle Hamlin
>>>>
>>>>
>>>
>>> --
>>> Kyle Hamlin
>>>
>>
>>
>> --
>> Kyle Hamlin
>>
>
>
> --
> Kyle Hamlin
Re: Flask-AppBuilder has pinned versions of Click & Flask-Login in 1.10.0
Posted by Kyle Hamlin <ha...@gmail.com>.
If I remove the Flask-AppBuild pinning to 1.11.0 then it uncovers a Jinja2
conflict which is baffling because I don't see anywhere in the graph that
jinja2 >=2.10 is required.
Could not find a version that matches
jinja2<2.9.0,>=2.10,>=2.4,>=2.5,>=2.7.3,>=2.8
Tried: 2.0, 2.1, 2.1.1, 2.2, 2.2.1, 2.3, 2.3.1, 2.4, 2.4.1, 2.5, 2.5.1,
2.5.2, 2.5.3, 2.5.4, 2.5.5, 2.6, 2.7, 2.7.1, 2.7.2, 2.7.3, 2.8, 2.8, 2.8.1,
2.8.1, 2.9, 2.9, 2.9.1, 2.9.1, 2.9.2, 2.9.2, 2.9.3, 2.9.3, 2.9.4, 2.9.4,
2.9.5, 2.9.5, 2.9.6, 2.9.6, 2.10, 2.10
I highlighted why the dep fails there one dep that requires Jinjs2 < 2.9.0
but I still have not idea where the 2.10.0 comes from.
apache-airflow==2.0.0.dev0+incubating
- alembic [required: >=0.9,<1.0, installed: 0.9.10]
- Mako [required: Any, installed: 1.0.7]
- MarkupSafe [required: >=0.9.2, installed: 1.0]
- python-dateutil [required: Any, installed: 2.7.3]
- six [required: >=1.5, installed: 1.11.0]
- python-editor [required: >=0.3, installed: 1.0.3]
- SQLAlchemy [required: >=0.7.6, installed: 1.1.18]
- bleach [required: ~=2.1.3, installed: 2.1.4]
- html5lib [required:
>=0.99999999pre,!=1.0b8,!=1.0b7,!=1.0b6,!=1.0b5,!=1.0b4,!=1.0b3,!=1.0b2,!=1.0b1,
installed: 1.0.1]
- six [required: >=1.9, installed: 1.11.0]
- webencodings [required: Any, installed: 0.5.1]
- six [required: Any, installed: 1.11.0]
- configparser [required: >=3.5.0,<3.6.0, installed: 3.5.0]
- croniter [required: >=0.3.17,<0.4, installed: 0.3.25]
- python-dateutil [required: Any, installed: 2.7.3]
- six [required: >=1.5, installed: 1.11.0]
- dill [required: >=0.2.2,<0.3, installed: 0.2.8.2]
- flask [required: >=0.12.4,<0.13, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
- flask-admin [required: ==1.4.1, installed: 1.4.1]
- Flask [required: >=0.7, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
- wtforms [required: Any, installed: 2.2.1]
- flask-appbuilder [required: >=1.12,<2.0.0, installed: 1.12.0]
- click [required: ==6.7, installed: 7.0]
- colorama [required: ==0.3.9, installed: 0.3.9]
- Flask [required: >=0.10.0,<0.12.99, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
- Flask-Babel [required: ==0.11.1, installed: 0.11.1]
- Babel [required: >=2.3, installed: 2.6.0]
- pytz [required: >=0a, installed: 2018.5]
- Flask [required: Any, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
- Jinja2 [required: >=2.5, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Flask-Login [required: >=0.3,<0.5, installed: 0.4.1]
- Flask [required: Any, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
- Flask-OpenID [required: ==1.2.5, installed: 1.2.5]
- Flask [required: >=0.10.1, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
- python3-openid [required: >=2.0, installed: 3.1.0]
- defusedxml [required: Any, installed: 0.5.0]
- Flask-SQLAlchemy [required: ==2.1, installed: 2.1]
- Flask [required: >=0.10, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
- SQLAlchemy [required: >=0.7, installed: 1.1.18]
- Flask-WTF [required: ==0.14.2, installed: 0.14.2]
- Flask [required: Any, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
- WTForms [required: Any, installed: 2.2.1]
- python-dateutil [required: >=2.3,<3, installed: 2.7.3]
- six [required: >=1.5, installed: 1.11.0]
- flask-caching [required: >=1.3.3,<1.4.0, installed: 1.3.3]
- Flask [required: Any, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
- Werkzeug [required: >=0.12, installed: 0.14.1]
- flask-login [required: >=0.3,<0.5, installed: 0.4.1]
- Flask [required: Any, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
- flask-swagger [required: ==0.2.13, installed: 0.2.13]
- Flask [required: >=0.10, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
- PyYAML [required: >=3.0, installed: 3.13]
- flask-wtf [required: >=0.14.2,<0.15, installed: 0.14.2]
- Flask [required: Any, installed: 0.12.4]
- click [required: >=2.0, installed: 7.0]
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- Werkzeug [required: >=0.7, installed: 0.14.1]
- WTForms [required: Any, installed: 2.2.1]
- funcsigs [required: ==1.0.0, installed: 1.0.0]
- ordereddict [required: Any, installed: 1.1]
- future [required: >=0.16.0,<0.17, installed: 0.16.0]
- gitpython [required: >=2.0.2, installed: 2.1.11]
- gitdb2 [required: >=2.0.0, installed: 2.0.4]
- smmap2 [required: >=2.0.0, installed: 2.0.4]
- gunicorn [required: >=19.4.0,<20.0, installed: 19.9.0]
- iso8601 [required: >=0.1.12, installed: 0.1.12]
- jinja2 [required: >=2.7.3,<2.9.0, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- lxml [required: >=4.0.0, installed: 4.2.5]
- markdown [required: >=2.5.2,<3.0, installed: 2.6.11]
- pandas [required: >=0.17.1,<1.0.0, installed: 0.23.4]
- numpy [required: >=1.9.0, installed: 1.15.2]
- python-dateutil [required: >=2.5.0, installed: 2.7.3]
- six [required: >=1.5, installed: 1.11.0]
- pytz [required: >=2011k, installed: 2018.5]
- pendulum [required: ==1.4.4, installed: 1.4.4]
- python-dateutil [required: >=2.6.0.0,<3.0.0.0, installed: 2.7.3]
- six [required: >=1.5, installed: 1.11.0]
- pytzdata [required: >=2018.3.0.0, installed: 2018.5]
- tzlocal [required: >=1.5.0.0,<2.0.0.0, installed: 1.5.1]
- pytz [required: Any, installed: 2018.5]
- psutil [required: >=4.2.0,<6.0.0, installed: 5.4.7]
- pygments [required: >=2.0.1,<3.0, installed: 2.2.0]
- python-daemon [required: >=2.1.1,<2.2, installed: 2.1.2]
- docutils [required: Any, installed: 0.14]
- lockfile [required: >=0.10, installed: 0.12.2]
- setuptools [required: Any, installed: 40.4.3]
- python-dateutil [required: >=2.3,<3, installed: 2.7.3]
- six [required: >=1.5, installed: 1.11.0]
- python-nvd3 [required: ==0.15.0, installed: 0.15.0]
- Jinja2 [required: >=2.8, installed: 2.8.1]
- MarkupSafe [required: Any, installed: 1.0]
- python-slugify [required: >=1.2.5, installed: 1.2.6]
- Unidecode [required: >=0.04.16, installed: 1.0.22]
- requests [required: >=2.5.1,<3, installed: 2.19.1]
- certifi [required: >=2017.4.17, installed: 2018.8.24]
- chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
- idna [required: >=2.5,<2.8, installed: 2.7]
- urllib3 [required: >=1.21.1,<1.24, installed: 1.23]
- setproctitle [required: >=1.1.8,<2, installed: 1.1.10]
- sqlalchemy [required: >=1.1.15,<1.2.0, installed: 1.1.18]
- tabulate [required: >=0.7.5,<=0.8.2, installed: 0.8.2]
- tenacity [required: ==4.8.0, installed: 4.8.0]
- monotonic [required: >=0.6, installed: 1.5]
- six [required: >=1.9.0, installed: 1.11.0]
- thrift [required: >=0.9.2, installed: 0.11.0]
- six [required: >=1.7.2, installed: 1.11.0]
- tzlocal [required: >=1.4, installed: 1.5.1]
- pytz [required: Any, installed: 2018.5]
- unicodecsv [required: >=0.14.1, installed: 0.14.1]
- werkzeug [required: >=0.14.1,<0.15.0, installed: 0.14.1]
- zope.deprecation [required: >=4.0,<5.0, installed: 4.3.0]
- setuptools [required: Any, installed: 40.4.3]
On Thu, Oct 4, 2018 at 11:29 AM Kyle Hamlin <ha...@gmail.com> wrote:
> whoops remove the [[source]] at the end of the url = "
> https://pypi.python.org/simple" that is a typo.
>
> On Thu, Oct 4, 2018 at 11:26 AM Kyle Hamlin <ha...@gmail.com> wrote:
>
>> Thank you for the response Ash.
>>
>> Even with your suggestion, there appear to be version conflicts all over
>> the place. Can you get this Pipfile to install because I cannot?
>>
>> *Pipfile:*
>>
>> [[source]]
>> url = "https://pypi.python.org/simple" [[source]]
>> verify_ssl = true
>> name = "pypi"
>>
>> [packages]
>> apache-airflow = {editable = true, ref =
>> "fb5ffd146a5a33820cfa7541e5ce09098f3d541a", git = "
>> https://github.com/apache/incubator-airflow.git", extras = ["s3",
>> "slack", "kubernetes", "celery", "postgres", "mongo", "crypto"]}
>> Flask-AppBuilder="==1.11.0"
>>
>> [requires]
>> python_version = "3.6"
>>
>>
>>
>>
>>
>>
>> On Thu, Oct 4, 2018 at 10:50 AM Ash Berlin-Taylor <as...@apache.org> wrote:
>>
>>> We've committed a fix for this to master and will include it in a 1.10.1
>>> https://github.com/apache/incubator-airflow/commit/fb5ffd146a5a33820cfa7541e5ce09098f3d541a
>>>
>>>
>>> For installing in the mea time pin `Flask-AppBuilder=1.11.0'
>>>
>>> > On 4 Oct 2018, at 00:41, Kyle Hamlin <ha...@gmail.com> wrote:
>>> >
>>> > Hi,
>>> >
>>> > Today I was trying to upgrade Airflow to 1.10.0 and it appears that
>>> there
>>> > are some version conflicts with click and flask-login. I uncovered
>>> these
>>> > because I use Pipenv to manage our project's dependencies. You can see
>>> here
>>> > that Flask-AppBuilder pins click==6.7 and flask-login>=0.3,<0.5
>>> >
>>> >
>>> https://github.com/dpgaspar/Flask-AppBuilder/blob/master/setup.py#L37-L47
>>> >
>>> > I'm able to force pipenv to install click==6.7 because that is not
>>> pinned
>>> > in Airflow's setup.py, but I can do nothing about flask-login because
>>> > Airflow pins the flask-login version:
>>> > https://github.com/apache/incubator-airflow/blob/master/setup.py#L304
>>> >
>>> > This prevents me from being able to upgrade to 1.10.0.
>>> >
>>> > *Pipenv's Graphed project dependencies (conflicts highlighted):*
>>> >
>>> > apache-airflow==1.10.0
>>> > - alembic [required: >=0.8.3,<0.9, installed: 0.8.10]
>>> > - Mako [required: Any, installed: 1.0.7]
>>> > - MarkupSafe [required: >=0.9.2, installed: 1.0]
>>> > - python-editor [required: >=0.3, installed: 1.0.3]
>>> > - SQLAlchemy [required: >=0.7.6, installed: 1.2.12]
>>> > - bleach [required: ==2.1.2, installed: 2.1.2]
>>> > - html5lib [required:
>>> >>
>>> =0.99999999pre,!=1.0b8,!=1.0b7,!=1.0b6,!=1.0b5,!=1.0b4,!=1.0b3,!=1.0b2,!=1.0b1,
>>> > installed: 1.0.1]
>>> > - six [required: >=1.9, installed: 1.11.0]
>>> > - webencodings [required: Any, installed: 0.5.1]
>>> > - six [required: Any, installed: 1.11.0]
>>> > - configparser [required: >=3.5.0,<3.6.0, installed: 3.5.0]
>>> > - croniter [required: >=0.3.17,<0.4, installed: 0.3.25]
>>> > - python-dateutil [required: Any, installed: 2.7.3]
>>> > - six [required: >=1.5, installed: 1.11.0]
>>> > - dill [required: >=0.2.2,<0.3, installed: 0.2.8.2]
>>> > - flask [required: >=0.12.4,<0.13, installed: 0.12.4]
>>> > - click [required: >=2.0, installed: 7.0]
>>> > - itsdangerous [required: >=0.21, installed: 0.24]
>>> > - Jinja2 [required: >=2.4, installed: 2.8.1]
>>> > - MarkupSafe [required: Any, installed: 1.0]
>>> > - Werkzeug [required: >=0.7, installed: 0.14.1]
>>> > - flask-admin [required: ==1.4.1, installed: 1.4.1]
>>> > - Flask [required: >=0.7, installed: 0.12.4]
>>> > - click [required: >=2.0, installed: 7.0]
>>> > - itsdangerous [required: >=0.21, installed: 0.24]
>>> > - Jinja2 [required: >=2.4, installed: 2.8.1]
>>> > - MarkupSafe [required: Any, installed: 1.0]
>>> > - Werkzeug [required: >=0.7, installed: 0.14.1]
>>> > - wtforms [required: Any, installed: 2.2.1]
>>> > - flask-appbuilder [required: >=1.11.1,<2.0.0, installed: 1.12.0]
>>> > - click [required: ==6.7, installed: 7.0]
>>> > - colorama [required: ==0.3.9, installed: 0.3.9]
>>> > - Flask [required: >=0.10.0,<0.12.99, installed: 0.12.4]
>>> > - click [required: >=2.0, installed: 7.0]
>>> > - itsdangerous [required: >=0.21, installed: 0.24]
>>> > - Jinja2 [required: >=2.4, installed: 2.8.1]
>>> > - MarkupSafe [required: Any, installed: 1.0]
>>> > - Werkzeug [required: >=0.7, installed: 0.14.1]
>>> > - Flask-Babel [required: ==0.11.1, installed: 0.11.1]
>>> > - Babel [required: >=2.3, installed: 2.6.0]
>>> > - pytz [required: >=0a, installed: 2018.5]
>>> > - Flask [required: Any, installed: 0.12.4]
>>> > - click [required: >=2.0, installed: 7.0]
>>> > - itsdangerous [required: >=0.21, installed: 0.24]
>>> > - Jinja2 [required: >=2.4, installed: 2.8.1]
>>> > - MarkupSafe [required: Any, installed: 1.0]
>>> > - Werkzeug [required: >=0.7, installed: 0.14.1]
>>> > - Jinja2 [required: >=2.5, installed: 2.8.1]
>>> > - MarkupSafe [required: Any, installed: 1.0]
>>> > - Flask-Login [required: >=0.3,<0.5, installed: 0.2.11]
>>> > - Flask [required: Any, installed: 0.12.4]
>>> > - click [required: >=2.0, installed: 7.0]
>>> > - itsdangerous [required: >=0.21, installed: 0.24]
>>> > - Jinja2 [required: >=2.4, installed: 2.8.1]
>>> > - MarkupSafe [required: Any, installed: 1.0]
>>> > - Werkzeug [required: >=0.7, installed: 0.14.1]
>>> > - Flask-OpenID [required: ==1.2.5, installed: 1.2.5]
>>> > - Flask [required: >=0.10.1, installed: 0.12.4]
>>> > - click [required: >=2.0, installed: 7.0]
>>> > - itsdangerous [required: >=0.21, installed: 0.24]
>>> > - Jinja2 [required: >=2.4, installed: 2.8.1]
>>> > - MarkupSafe [required: Any, installed: 1.0]
>>> > - Werkzeug [required: >=0.7, installed: 0.14.1]
>>> > - python3-openid [required: >=2.0, installed: 3.1.0]
>>> > - defusedxml [required: Any, installed: 0.5.0]
>>> > - Flask-SQLAlchemy [required: ==2.1, installed: 2.1]
>>> > - Flask [required: >=0.10, installed: 0.12.4]
>>> > - click [required: >=2.0, installed: 7.0]
>>> > - itsdangerous [required: >=0.21, installed: 0.24]
>>> > - Jinja2 [required: >=2.4, installed: 2.8.1]
>>> > - MarkupSafe [required: Any, installed: 1.0]
>>> > - Werkzeug [required: >=0.7, installed: 0.14.1]
>>> > - SQLAlchemy [required: >=0.7, installed: 1.2.12]
>>> > - Flask-WTF [required: ==0.14.2, installed: 0.14.2]
>>> > - Flask [required: Any, installed: 0.12.4]
>>> > - click [required: >=2.0, installed: 7.0]
>>> > - itsdangerous [required: >=0.21, installed: 0.24]
>>> > - Jinja2 [required: >=2.4, installed: 2.8.1]
>>> > - MarkupSafe [required: Any, installed: 1.0]
>>> > - Werkzeug [required: >=0.7, installed: 0.14.1]
>>> > - WTForms [required: Any, installed: 2.2.1]
>>> > - python-dateutil [required: >=2.3,<3, installed: 2.7.3]
>>> > - six [required: >=1.5, installed: 1.11.0]
>>> > - flask-caching [required: >=1.3.3,<1.4.0, installed: 1.3.3]
>>> > - Flask [required: Any, installed: 0.12.4]
>>> > - click [required: >=2.0, installed: 7.0]
>>> > - itsdangerous [required: >=0.21, installed: 0.24]
>>> > - Jinja2 [required: >=2.4, installed: 2.8.1]
>>> > - MarkupSafe [required: Any, installed: 1.0]
>>> > - Werkzeug [required: >=0.7, installed: 0.14.1]
>>> > - Werkzeug [required: >=0.12, installed: 0.14.1]
>>> > - flask-login [required: ==0.2.11, installed: 0.2.11]
>>> > - Flask [required: Any, installed: 0.12.4]
>>> > - click [required: >=2.0, installed: 7.0]
>>> > - itsdangerous [required: >=0.21, installed: 0.24]
>>> > - Jinja2 [required: >=2.4, installed: 2.8.1]
>>> > - MarkupSafe [required: Any, installed: 1.0]
>>> > - Werkzeug [required: >=0.7, installed: 0.14.1]
>>> > - flask-swagger [required: ==0.2.13, installed: 0.2.13]
>>> > - Flask [required: >=0.10, installed: 0.12.4]
>>> > - click [required: >=2.0, installed: 7.0]
>>> > - itsdangerous [required: >=0.21, installed: 0.24]
>>> > - Jinja2 [required: >=2.4, installed: 2.8.1]
>>> > - MarkupSafe [required: Any, installed: 1.0]
>>> > - Werkzeug [required: >=0.7, installed: 0.14.1]
>>> > - PyYAML [required: >=3.0, installed: 3.13]
>>> > - flask-wtf [required: >=0.14.2,<0.15, installed: 0.14.2]
>>> > - Flask [required: Any, installed: 0.12.4]
>>> > - click [required: >=2.0, installed: 7.0]
>>> > - itsdangerous [required: >=0.21, installed: 0.24]
>>> > - Jinja2 [required: >=2.4, installed: 2.8.1]
>>> > - MarkupSafe [required: Any, installed: 1.0]
>>> > - Werkzeug [required: >=0.7, installed: 0.14.1]
>>> > - WTForms [required: Any, installed: 2.2.1]
>>> > - funcsigs [required: ==1.0.0, installed: 1.0.0]
>>> > - ordereddict [required: Any, installed: 1.1]
>>> > - future [required: >=0.16.0,<0.17, installed: 0.16.0]
>>> > - gitpython [required: >=2.0.2, installed: 2.1.11]
>>> > - gitdb2 [required: >=2.0.0, installed: 2.0.4]
>>> > - smmap2 [required: >=2.0.0, installed: 2.0.4]
>>> > - gunicorn [required: >=19.4.0,<20.0, installed: 19.9.0]
>>> > - iso8601 [required: >=0.1.12, installed: 0.1.12]
>>> > - jinja2 [required: >=2.7.3,<2.9.0, installed: 2.8.1]
>>> > - MarkupSafe [required: Any, installed: 1.0]
>>> > - lxml [required: >=3.6.0,<4.0, installed: 3.8.0]
>>> > - markdown [required: >=2.5.2,<3.0, installed: 2.6.11]
>>> > - pandas [required: >=0.17.1,<1.0.0, installed: 0.23.4]
>>> > - numpy [required: >=1.9.0, installed: 1.15.2]
>>> > - python-dateutil [required: >=2.5.0, installed: 2.7.3]
>>> > - six [required: >=1.5, installed: 1.11.0]
>>> > - pytz [required: >=2011k, installed: 2018.5]
>>> > - pendulum [required: ==1.4.4, installed: 1.4.4]
>>> > - python-dateutil [required: >=2.6.0.0,<3.0.0.0, installed: 2.7.3]
>>> > - six [required: >=1.5, installed: 1.11.0]
>>> > - pytzdata [required: >=2018.3.0.0, installed: 2018.5]
>>> > - tzlocal [required: >=1.5.0.0,<2.0.0.0, installed: 1.5.1]
>>> > - pytz [required: Any, installed: 2018.5]
>>> > - psutil [required: >=4.2.0,<5.0.0, installed: 4.4.2]
>>> > - pygments [required: >=2.0.1,<3.0, installed: 2.2.0]
>>> > - python-daemon [required: >=2.1.1,<2.2, installed: 2.1.2]
>>> > - docutils [required: Any, installed: 0.14]
>>> > - lockfile [required: >=0.10, installed: 0.12.2]
>>> > - setuptools [required: Any, installed: 40.4.3]
>>> > - python-dateutil [required: >=2.3,<3, installed: 2.7.3]
>>> > - six [required: >=1.5, installed: 1.11.0]
>>> > - python-nvd3 [required: ==0.15.0, installed: 0.15.0]
>>> > - Jinja2 [required: >=2.8, installed: 2.8.1]
>>> > - MarkupSafe [required: Any, installed: 1.0]
>>> > - python-slugify [required: >=1.2.5, installed: 1.2.6]
>>> > - Unidecode [required: >=0.04.16, installed: 1.0.22]
>>> > - requests [required: >=2.5.1,<3, installed: 2.19.1]
>>> > - certifi [required: >=2017.4.17, installed: 2018.8.24]
>>> > - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
>>> > - idna [required: >=2.5,<2.8, installed: 2.7]
>>> > - urllib3 [required: >=1.21.1,<1.24, installed: 1.23]
>>> > - setproctitle [required: >=1.1.8,<2, installed: 1.1.10]
>>> > - sqlalchemy [required: >=1.1.15,<1.2.0, installed: 1.2.12]
>>> > - tabulate [required: >=0.7.5,<0.8.0, installed: 0.7.7]
>>> > - tenacity [required: ==4.8.0, installed: 4.8.0]
>>> > - monotonic [required: >=0.6, installed: 1.5]
>>> > - six [required: >=1.9.0, installed: 1.11.0]
>>> > - thrift [required: >=0.9.2, installed: 0.11.0]
>>> > - six [required: >=1.7.2, installed: 1.11.0]
>>> > - tzlocal [required: >=1.4, installed: 1.5.1]
>>> > - pytz [required: Any, installed: 2018.5]
>>> > - unicodecsv [required: >=0.14.1, installed: 0.14.1]
>>> > - werkzeug [required: >=0.14.1,<0.15.0, installed: 0.14.1]
>>> > - zope.deprecation [required: >=4.0,<5.0, installed: 4.3.0]
>>> > - setuptools [required: Any, installed: 40.4.3]
>>> >
>>> > --
>>> > Kyle Hamlin
>>>
>>>
>>
>> --
>> Kyle Hamlin
>>
>
>
> --
> Kyle Hamlin
>
--
Kyle Hamlin
Re: Flask-AppBuilder has pinned versions of Click & Flask-Login in 1.10.0
Posted by Kyle Hamlin <ha...@gmail.com>.
whoops remove the [[source]] at the end of the url = "
https://pypi.python.org/simple" that is a typo.
On Thu, Oct 4, 2018 at 11:26 AM Kyle Hamlin <ha...@gmail.com> wrote:
> Thank you for the response Ash.
>
> Even with your suggestion, there appear to be version conflicts all over
> the place. Can you get this Pipfile to install because I cannot?
>
> *Pipfile:*
>
> [[source]]
> url = "https://pypi.python.org/simple" [[source]]
> verify_ssl = true
> name = "pypi"
>
> [packages]
> apache-airflow = {editable = true, ref =
> "fb5ffd146a5a33820cfa7541e5ce09098f3d541a", git = "
> https://github.com/apache/incubator-airflow.git", extras = ["s3",
> "slack", "kubernetes", "celery", "postgres", "mongo", "crypto"]}
> Flask-AppBuilder="==1.11.0"
>
> [requires]
> python_version = "3.6"
>
>
>
>
>
>
> On Thu, Oct 4, 2018 at 10:50 AM Ash Berlin-Taylor <as...@apache.org> wrote:
>
>> We've committed a fix for this to master and will include it in a 1.10.1
>> https://github.com/apache/incubator-airflow/commit/fb5ffd146a5a33820cfa7541e5ce09098f3d541a
>>
>>
>> For installing in the mea time pin `Flask-AppBuilder=1.11.0'
>>
>> > On 4 Oct 2018, at 00:41, Kyle Hamlin <ha...@gmail.com> wrote:
>> >
>> > Hi,
>> >
>> > Today I was trying to upgrade Airflow to 1.10.0 and it appears that
>> there
>> > are some version conflicts with click and flask-login. I uncovered these
>> > because I use Pipenv to manage our project's dependencies. You can see
>> here
>> > that Flask-AppBuilder pins click==6.7 and flask-login>=0.3,<0.5
>> >
>> >
>> https://github.com/dpgaspar/Flask-AppBuilder/blob/master/setup.py#L37-L47
>> >
>> > I'm able to force pipenv to install click==6.7 because that is not
>> pinned
>> > in Airflow's setup.py, but I can do nothing about flask-login because
>> > Airflow pins the flask-login version:
>> > https://github.com/apache/incubator-airflow/blob/master/setup.py#L304
>> >
>> > This prevents me from being able to upgrade to 1.10.0.
>> >
>> > *Pipenv's Graphed project dependencies (conflicts highlighted):*
>> >
>> > apache-airflow==1.10.0
>> > - alembic [required: >=0.8.3,<0.9, installed: 0.8.10]
>> > - Mako [required: Any, installed: 1.0.7]
>> > - MarkupSafe [required: >=0.9.2, installed: 1.0]
>> > - python-editor [required: >=0.3, installed: 1.0.3]
>> > - SQLAlchemy [required: >=0.7.6, installed: 1.2.12]
>> > - bleach [required: ==2.1.2, installed: 2.1.2]
>> > - html5lib [required:
>> >>
>> =0.99999999pre,!=1.0b8,!=1.0b7,!=1.0b6,!=1.0b5,!=1.0b4,!=1.0b3,!=1.0b2,!=1.0b1,
>> > installed: 1.0.1]
>> > - six [required: >=1.9, installed: 1.11.0]
>> > - webencodings [required: Any, installed: 0.5.1]
>> > - six [required: Any, installed: 1.11.0]
>> > - configparser [required: >=3.5.0,<3.6.0, installed: 3.5.0]
>> > - croniter [required: >=0.3.17,<0.4, installed: 0.3.25]
>> > - python-dateutil [required: Any, installed: 2.7.3]
>> > - six [required: >=1.5, installed: 1.11.0]
>> > - dill [required: >=0.2.2,<0.3, installed: 0.2.8.2]
>> > - flask [required: >=0.12.4,<0.13, installed: 0.12.4]
>> > - click [required: >=2.0, installed: 7.0]
>> > - itsdangerous [required: >=0.21, installed: 0.24]
>> > - Jinja2 [required: >=2.4, installed: 2.8.1]
>> > - MarkupSafe [required: Any, installed: 1.0]
>> > - Werkzeug [required: >=0.7, installed: 0.14.1]
>> > - flask-admin [required: ==1.4.1, installed: 1.4.1]
>> > - Flask [required: >=0.7, installed: 0.12.4]
>> > - click [required: >=2.0, installed: 7.0]
>> > - itsdangerous [required: >=0.21, installed: 0.24]
>> > - Jinja2 [required: >=2.4, installed: 2.8.1]
>> > - MarkupSafe [required: Any, installed: 1.0]
>> > - Werkzeug [required: >=0.7, installed: 0.14.1]
>> > - wtforms [required: Any, installed: 2.2.1]
>> > - flask-appbuilder [required: >=1.11.1,<2.0.0, installed: 1.12.0]
>> > - click [required: ==6.7, installed: 7.0]
>> > - colorama [required: ==0.3.9, installed: 0.3.9]
>> > - Flask [required: >=0.10.0,<0.12.99, installed: 0.12.4]
>> > - click [required: >=2.0, installed: 7.0]
>> > - itsdangerous [required: >=0.21, installed: 0.24]
>> > - Jinja2 [required: >=2.4, installed: 2.8.1]
>> > - MarkupSafe [required: Any, installed: 1.0]
>> > - Werkzeug [required: >=0.7, installed: 0.14.1]
>> > - Flask-Babel [required: ==0.11.1, installed: 0.11.1]
>> > - Babel [required: >=2.3, installed: 2.6.0]
>> > - pytz [required: >=0a, installed: 2018.5]
>> > - Flask [required: Any, installed: 0.12.4]
>> > - click [required: >=2.0, installed: 7.0]
>> > - itsdangerous [required: >=0.21, installed: 0.24]
>> > - Jinja2 [required: >=2.4, installed: 2.8.1]
>> > - MarkupSafe [required: Any, installed: 1.0]
>> > - Werkzeug [required: >=0.7, installed: 0.14.1]
>> > - Jinja2 [required: >=2.5, installed: 2.8.1]
>> > - MarkupSafe [required: Any, installed: 1.0]
>> > - Flask-Login [required: >=0.3,<0.5, installed: 0.2.11]
>> > - Flask [required: Any, installed: 0.12.4]
>> > - click [required: >=2.0, installed: 7.0]
>> > - itsdangerous [required: >=0.21, installed: 0.24]
>> > - Jinja2 [required: >=2.4, installed: 2.8.1]
>> > - MarkupSafe [required: Any, installed: 1.0]
>> > - Werkzeug [required: >=0.7, installed: 0.14.1]
>> > - Flask-OpenID [required: ==1.2.5, installed: 1.2.5]
>> > - Flask [required: >=0.10.1, installed: 0.12.4]
>> > - click [required: >=2.0, installed: 7.0]
>> > - itsdangerous [required: >=0.21, installed: 0.24]
>> > - Jinja2 [required: >=2.4, installed: 2.8.1]
>> > - MarkupSafe [required: Any, installed: 1.0]
>> > - Werkzeug [required: >=0.7, installed: 0.14.1]
>> > - python3-openid [required: >=2.0, installed: 3.1.0]
>> > - defusedxml [required: Any, installed: 0.5.0]
>> > - Flask-SQLAlchemy [required: ==2.1, installed: 2.1]
>> > - Flask [required: >=0.10, installed: 0.12.4]
>> > - click [required: >=2.0, installed: 7.0]
>> > - itsdangerous [required: >=0.21, installed: 0.24]
>> > - Jinja2 [required: >=2.4, installed: 2.8.1]
>> > - MarkupSafe [required: Any, installed: 1.0]
>> > - Werkzeug [required: >=0.7, installed: 0.14.1]
>> > - SQLAlchemy [required: >=0.7, installed: 1.2.12]
>> > - Flask-WTF [required: ==0.14.2, installed: 0.14.2]
>> > - Flask [required: Any, installed: 0.12.4]
>> > - click [required: >=2.0, installed: 7.0]
>> > - itsdangerous [required: >=0.21, installed: 0.24]
>> > - Jinja2 [required: >=2.4, installed: 2.8.1]
>> > - MarkupSafe [required: Any, installed: 1.0]
>> > - Werkzeug [required: >=0.7, installed: 0.14.1]
>> > - WTForms [required: Any, installed: 2.2.1]
>> > - python-dateutil [required: >=2.3,<3, installed: 2.7.3]
>> > - six [required: >=1.5, installed: 1.11.0]
>> > - flask-caching [required: >=1.3.3,<1.4.0, installed: 1.3.3]
>> > - Flask [required: Any, installed: 0.12.4]
>> > - click [required: >=2.0, installed: 7.0]
>> > - itsdangerous [required: >=0.21, installed: 0.24]
>> > - Jinja2 [required: >=2.4, installed: 2.8.1]
>> > - MarkupSafe [required: Any, installed: 1.0]
>> > - Werkzeug [required: >=0.7, installed: 0.14.1]
>> > - Werkzeug [required: >=0.12, installed: 0.14.1]
>> > - flask-login [required: ==0.2.11, installed: 0.2.11]
>> > - Flask [required: Any, installed: 0.12.4]
>> > - click [required: >=2.0, installed: 7.0]
>> > - itsdangerous [required: >=0.21, installed: 0.24]
>> > - Jinja2 [required: >=2.4, installed: 2.8.1]
>> > - MarkupSafe [required: Any, installed: 1.0]
>> > - Werkzeug [required: >=0.7, installed: 0.14.1]
>> > - flask-swagger [required: ==0.2.13, installed: 0.2.13]
>> > - Flask [required: >=0.10, installed: 0.12.4]
>> > - click [required: >=2.0, installed: 7.0]
>> > - itsdangerous [required: >=0.21, installed: 0.24]
>> > - Jinja2 [required: >=2.4, installed: 2.8.1]
>> > - MarkupSafe [required: Any, installed: 1.0]
>> > - Werkzeug [required: >=0.7, installed: 0.14.1]
>> > - PyYAML [required: >=3.0, installed: 3.13]
>> > - flask-wtf [required: >=0.14.2,<0.15, installed: 0.14.2]
>> > - Flask [required: Any, installed: 0.12.4]
>> > - click [required: >=2.0, installed: 7.0]
>> > - itsdangerous [required: >=0.21, installed: 0.24]
>> > - Jinja2 [required: >=2.4, installed: 2.8.1]
>> > - MarkupSafe [required: Any, installed: 1.0]
>> > - Werkzeug [required: >=0.7, installed: 0.14.1]
>> > - WTForms [required: Any, installed: 2.2.1]
>> > - funcsigs [required: ==1.0.0, installed: 1.0.0]
>> > - ordereddict [required: Any, installed: 1.1]
>> > - future [required: >=0.16.0,<0.17, installed: 0.16.0]
>> > - gitpython [required: >=2.0.2, installed: 2.1.11]
>> > - gitdb2 [required: >=2.0.0, installed: 2.0.4]
>> > - smmap2 [required: >=2.0.0, installed: 2.0.4]
>> > - gunicorn [required: >=19.4.0,<20.0, installed: 19.9.0]
>> > - iso8601 [required: >=0.1.12, installed: 0.1.12]
>> > - jinja2 [required: >=2.7.3,<2.9.0, installed: 2.8.1]
>> > - MarkupSafe [required: Any, installed: 1.0]
>> > - lxml [required: >=3.6.0,<4.0, installed: 3.8.0]
>> > - markdown [required: >=2.5.2,<3.0, installed: 2.6.11]
>> > - pandas [required: >=0.17.1,<1.0.0, installed: 0.23.4]
>> > - numpy [required: >=1.9.0, installed: 1.15.2]
>> > - python-dateutil [required: >=2.5.0, installed: 2.7.3]
>> > - six [required: >=1.5, installed: 1.11.0]
>> > - pytz [required: >=2011k, installed: 2018.5]
>> > - pendulum [required: ==1.4.4, installed: 1.4.4]
>> > - python-dateutil [required: >=2.6.0.0,<3.0.0.0, installed: 2.7.3]
>> > - six [required: >=1.5, installed: 1.11.0]
>> > - pytzdata [required: >=2018.3.0.0, installed: 2018.5]
>> > - tzlocal [required: >=1.5.0.0,<2.0.0.0, installed: 1.5.1]
>> > - pytz [required: Any, installed: 2018.5]
>> > - psutil [required: >=4.2.0,<5.0.0, installed: 4.4.2]
>> > - pygments [required: >=2.0.1,<3.0, installed: 2.2.0]
>> > - python-daemon [required: >=2.1.1,<2.2, installed: 2.1.2]
>> > - docutils [required: Any, installed: 0.14]
>> > - lockfile [required: >=0.10, installed: 0.12.2]
>> > - setuptools [required: Any, installed: 40.4.3]
>> > - python-dateutil [required: >=2.3,<3, installed: 2.7.3]
>> > - six [required: >=1.5, installed: 1.11.0]
>> > - python-nvd3 [required: ==0.15.0, installed: 0.15.0]
>> > - Jinja2 [required: >=2.8, installed: 2.8.1]
>> > - MarkupSafe [required: Any, installed: 1.0]
>> > - python-slugify [required: >=1.2.5, installed: 1.2.6]
>> > - Unidecode [required: >=0.04.16, installed: 1.0.22]
>> > - requests [required: >=2.5.1,<3, installed: 2.19.1]
>> > - certifi [required: >=2017.4.17, installed: 2018.8.24]
>> > - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
>> > - idna [required: >=2.5,<2.8, installed: 2.7]
>> > - urllib3 [required: >=1.21.1,<1.24, installed: 1.23]
>> > - setproctitle [required: >=1.1.8,<2, installed: 1.1.10]
>> > - sqlalchemy [required: >=1.1.15,<1.2.0, installed: 1.2.12]
>> > - tabulate [required: >=0.7.5,<0.8.0, installed: 0.7.7]
>> > - tenacity [required: ==4.8.0, installed: 4.8.0]
>> > - monotonic [required: >=0.6, installed: 1.5]
>> > - six [required: >=1.9.0, installed: 1.11.0]
>> > - thrift [required: >=0.9.2, installed: 0.11.0]
>> > - six [required: >=1.7.2, installed: 1.11.0]
>> > - tzlocal [required: >=1.4, installed: 1.5.1]
>> > - pytz [required: Any, installed: 2018.5]
>> > - unicodecsv [required: >=0.14.1, installed: 0.14.1]
>> > - werkzeug [required: >=0.14.1,<0.15.0, installed: 0.14.1]
>> > - zope.deprecation [required: >=4.0,<5.0, installed: 4.3.0]
>> > - setuptools [required: Any, installed: 40.4.3]
>> >
>> > --
>> > Kyle Hamlin
>>
>>
>
> --
> Kyle Hamlin
>
--
Kyle Hamlin
Re: Flask-AppBuilder has pinned versions of Click & Flask-Login in 1.10.0
Posted by Kyle Hamlin <ha...@gmail.com>.
Thank you for the response Ash.
Even with your suggestion, there appear to be version conflicts all over
the place. Can you get this Pipfile to install because I cannot?
*Pipfile:*
[[source]]
url = "https://pypi.python.org/simple" [[source]]
verify_ssl = true
name = "pypi"
[packages]
apache-airflow = {editable = true, ref =
"fb5ffd146a5a33820cfa7541e5ce09098f3d541a", git = "
https://github.com/apache/incubator-airflow.git", extras = ["s3", "slack",
"kubernetes", "celery", "postgres", "mongo", "crypto"]}
Flask-AppBuilder="==1.11.0"
[requires]
python_version = "3.6"
On Thu, Oct 4, 2018 at 10:50 AM Ash Berlin-Taylor <as...@apache.org> wrote:
> We've committed a fix for this to master and will include it in a 1.10.1
> https://github.com/apache/incubator-airflow/commit/fb5ffd146a5a33820cfa7541e5ce09098f3d541a
>
>
> For installing in the mea time pin `Flask-AppBuilder=1.11.0'
>
> > On 4 Oct 2018, at 00:41, Kyle Hamlin <ha...@gmail.com> wrote:
> >
> > Hi,
> >
> > Today I was trying to upgrade Airflow to 1.10.0 and it appears that there
> > are some version conflicts with click and flask-login. I uncovered these
> > because I use Pipenv to manage our project's dependencies. You can see
> here
> > that Flask-AppBuilder pins click==6.7 and flask-login>=0.3,<0.5
> >
> >
> https://github.com/dpgaspar/Flask-AppBuilder/blob/master/setup.py#L37-L47
> >
> > I'm able to force pipenv to install click==6.7 because that is not pinned
> > in Airflow's setup.py, but I can do nothing about flask-login because
> > Airflow pins the flask-login version:
> > https://github.com/apache/incubator-airflow/blob/master/setup.py#L304
> >
> > This prevents me from being able to upgrade to 1.10.0.
> >
> > *Pipenv's Graphed project dependencies (conflicts highlighted):*
> >
> > apache-airflow==1.10.0
> > - alembic [required: >=0.8.3,<0.9, installed: 0.8.10]
> > - Mako [required: Any, installed: 1.0.7]
> > - MarkupSafe [required: >=0.9.2, installed: 1.0]
> > - python-editor [required: >=0.3, installed: 1.0.3]
> > - SQLAlchemy [required: >=0.7.6, installed: 1.2.12]
> > - bleach [required: ==2.1.2, installed: 2.1.2]
> > - html5lib [required:
> >>
> =0.99999999pre,!=1.0b8,!=1.0b7,!=1.0b6,!=1.0b5,!=1.0b4,!=1.0b3,!=1.0b2,!=1.0b1,
> > installed: 1.0.1]
> > - six [required: >=1.9, installed: 1.11.0]
> > - webencodings [required: Any, installed: 0.5.1]
> > - six [required: Any, installed: 1.11.0]
> > - configparser [required: >=3.5.0,<3.6.0, installed: 3.5.0]
> > - croniter [required: >=0.3.17,<0.4, installed: 0.3.25]
> > - python-dateutil [required: Any, installed: 2.7.3]
> > - six [required: >=1.5, installed: 1.11.0]
> > - dill [required: >=0.2.2,<0.3, installed: 0.2.8.2]
> > - flask [required: >=0.12.4,<0.13, installed: 0.12.4]
> > - click [required: >=2.0, installed: 7.0]
> > - itsdangerous [required: >=0.21, installed: 0.24]
> > - Jinja2 [required: >=2.4, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - Werkzeug [required: >=0.7, installed: 0.14.1]
> > - flask-admin [required: ==1.4.1, installed: 1.4.1]
> > - Flask [required: >=0.7, installed: 0.12.4]
> > - click [required: >=2.0, installed: 7.0]
> > - itsdangerous [required: >=0.21, installed: 0.24]
> > - Jinja2 [required: >=2.4, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - Werkzeug [required: >=0.7, installed: 0.14.1]
> > - wtforms [required: Any, installed: 2.2.1]
> > - flask-appbuilder [required: >=1.11.1,<2.0.0, installed: 1.12.0]
> > - click [required: ==6.7, installed: 7.0]
> > - colorama [required: ==0.3.9, installed: 0.3.9]
> > - Flask [required: >=0.10.0,<0.12.99, installed: 0.12.4]
> > - click [required: >=2.0, installed: 7.0]
> > - itsdangerous [required: >=0.21, installed: 0.24]
> > - Jinja2 [required: >=2.4, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - Werkzeug [required: >=0.7, installed: 0.14.1]
> > - Flask-Babel [required: ==0.11.1, installed: 0.11.1]
> > - Babel [required: >=2.3, installed: 2.6.0]
> > - pytz [required: >=0a, installed: 2018.5]
> > - Flask [required: Any, installed: 0.12.4]
> > - click [required: >=2.0, installed: 7.0]
> > - itsdangerous [required: >=0.21, installed: 0.24]
> > - Jinja2 [required: >=2.4, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - Werkzeug [required: >=0.7, installed: 0.14.1]
> > - Jinja2 [required: >=2.5, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - Flask-Login [required: >=0.3,<0.5, installed: 0.2.11]
> > - Flask [required: Any, installed: 0.12.4]
> > - click [required: >=2.0, installed: 7.0]
> > - itsdangerous [required: >=0.21, installed: 0.24]
> > - Jinja2 [required: >=2.4, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - Werkzeug [required: >=0.7, installed: 0.14.1]
> > - Flask-OpenID [required: ==1.2.5, installed: 1.2.5]
> > - Flask [required: >=0.10.1, installed: 0.12.4]
> > - click [required: >=2.0, installed: 7.0]
> > - itsdangerous [required: >=0.21, installed: 0.24]
> > - Jinja2 [required: >=2.4, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - Werkzeug [required: >=0.7, installed: 0.14.1]
> > - python3-openid [required: >=2.0, installed: 3.1.0]
> > - defusedxml [required: Any, installed: 0.5.0]
> > - Flask-SQLAlchemy [required: ==2.1, installed: 2.1]
> > - Flask [required: >=0.10, installed: 0.12.4]
> > - click [required: >=2.0, installed: 7.0]
> > - itsdangerous [required: >=0.21, installed: 0.24]
> > - Jinja2 [required: >=2.4, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - Werkzeug [required: >=0.7, installed: 0.14.1]
> > - SQLAlchemy [required: >=0.7, installed: 1.2.12]
> > - Flask-WTF [required: ==0.14.2, installed: 0.14.2]
> > - Flask [required: Any, installed: 0.12.4]
> > - click [required: >=2.0, installed: 7.0]
> > - itsdangerous [required: >=0.21, installed: 0.24]
> > - Jinja2 [required: >=2.4, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - Werkzeug [required: >=0.7, installed: 0.14.1]
> > - WTForms [required: Any, installed: 2.2.1]
> > - python-dateutil [required: >=2.3,<3, installed: 2.7.3]
> > - six [required: >=1.5, installed: 1.11.0]
> > - flask-caching [required: >=1.3.3,<1.4.0, installed: 1.3.3]
> > - Flask [required: Any, installed: 0.12.4]
> > - click [required: >=2.0, installed: 7.0]
> > - itsdangerous [required: >=0.21, installed: 0.24]
> > - Jinja2 [required: >=2.4, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - Werkzeug [required: >=0.7, installed: 0.14.1]
> > - Werkzeug [required: >=0.12, installed: 0.14.1]
> > - flask-login [required: ==0.2.11, installed: 0.2.11]
> > - Flask [required: Any, installed: 0.12.4]
> > - click [required: >=2.0, installed: 7.0]
> > - itsdangerous [required: >=0.21, installed: 0.24]
> > - Jinja2 [required: >=2.4, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - Werkzeug [required: >=0.7, installed: 0.14.1]
> > - flask-swagger [required: ==0.2.13, installed: 0.2.13]
> > - Flask [required: >=0.10, installed: 0.12.4]
> > - click [required: >=2.0, installed: 7.0]
> > - itsdangerous [required: >=0.21, installed: 0.24]
> > - Jinja2 [required: >=2.4, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - Werkzeug [required: >=0.7, installed: 0.14.1]
> > - PyYAML [required: >=3.0, installed: 3.13]
> > - flask-wtf [required: >=0.14.2,<0.15, installed: 0.14.2]
> > - Flask [required: Any, installed: 0.12.4]
> > - click [required: >=2.0, installed: 7.0]
> > - itsdangerous [required: >=0.21, installed: 0.24]
> > - Jinja2 [required: >=2.4, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - Werkzeug [required: >=0.7, installed: 0.14.1]
> > - WTForms [required: Any, installed: 2.2.1]
> > - funcsigs [required: ==1.0.0, installed: 1.0.0]
> > - ordereddict [required: Any, installed: 1.1]
> > - future [required: >=0.16.0,<0.17, installed: 0.16.0]
> > - gitpython [required: >=2.0.2, installed: 2.1.11]
> > - gitdb2 [required: >=2.0.0, installed: 2.0.4]
> > - smmap2 [required: >=2.0.0, installed: 2.0.4]
> > - gunicorn [required: >=19.4.0,<20.0, installed: 19.9.0]
> > - iso8601 [required: >=0.1.12, installed: 0.1.12]
> > - jinja2 [required: >=2.7.3,<2.9.0, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - lxml [required: >=3.6.0,<4.0, installed: 3.8.0]
> > - markdown [required: >=2.5.2,<3.0, installed: 2.6.11]
> > - pandas [required: >=0.17.1,<1.0.0, installed: 0.23.4]
> > - numpy [required: >=1.9.0, installed: 1.15.2]
> > - python-dateutil [required: >=2.5.0, installed: 2.7.3]
> > - six [required: >=1.5, installed: 1.11.0]
> > - pytz [required: >=2011k, installed: 2018.5]
> > - pendulum [required: ==1.4.4, installed: 1.4.4]
> > - python-dateutil [required: >=2.6.0.0,<3.0.0.0, installed: 2.7.3]
> > - six [required: >=1.5, installed: 1.11.0]
> > - pytzdata [required: >=2018.3.0.0, installed: 2018.5]
> > - tzlocal [required: >=1.5.0.0,<2.0.0.0, installed: 1.5.1]
> > - pytz [required: Any, installed: 2018.5]
> > - psutil [required: >=4.2.0,<5.0.0, installed: 4.4.2]
> > - pygments [required: >=2.0.1,<3.0, installed: 2.2.0]
> > - python-daemon [required: >=2.1.1,<2.2, installed: 2.1.2]
> > - docutils [required: Any, installed: 0.14]
> > - lockfile [required: >=0.10, installed: 0.12.2]
> > - setuptools [required: Any, installed: 40.4.3]
> > - python-dateutil [required: >=2.3,<3, installed: 2.7.3]
> > - six [required: >=1.5, installed: 1.11.0]
> > - python-nvd3 [required: ==0.15.0, installed: 0.15.0]
> > - Jinja2 [required: >=2.8, installed: 2.8.1]
> > - MarkupSafe [required: Any, installed: 1.0]
> > - python-slugify [required: >=1.2.5, installed: 1.2.6]
> > - Unidecode [required: >=0.04.16, installed: 1.0.22]
> > - requests [required: >=2.5.1,<3, installed: 2.19.1]
> > - certifi [required: >=2017.4.17, installed: 2018.8.24]
> > - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
> > - idna [required: >=2.5,<2.8, installed: 2.7]
> > - urllib3 [required: >=1.21.1,<1.24, installed: 1.23]
> > - setproctitle [required: >=1.1.8,<2, installed: 1.1.10]
> > - sqlalchemy [required: >=1.1.15,<1.2.0, installed: 1.2.12]
> > - tabulate [required: >=0.7.5,<0.8.0, installed: 0.7.7]
> > - tenacity [required: ==4.8.0, installed: 4.8.0]
> > - monotonic [required: >=0.6, installed: 1.5]
> > - six [required: >=1.9.0, installed: 1.11.0]
> > - thrift [required: >=0.9.2, installed: 0.11.0]
> > - six [required: >=1.7.2, installed: 1.11.0]
> > - tzlocal [required: >=1.4, installed: 1.5.1]
> > - pytz [required: Any, installed: 2018.5]
> > - unicodecsv [required: >=0.14.1, installed: 0.14.1]
> > - werkzeug [required: >=0.14.1,<0.15.0, installed: 0.14.1]
> > - zope.deprecation [required: >=4.0,<5.0, installed: 4.3.0]
> > - setuptools [required: Any, installed: 40.4.3]
> >
> > --
> > Kyle Hamlin
>
>
--
Kyle Hamlin
Re: Flask-AppBuilder has pinned versions of Click & Flask-Login in
1.10.0
Posted by Ash Berlin-Taylor <as...@apache.org>.
We've committed a fix for this to master and will include it in a 1.10.1 https://github.com/apache/incubator-airflow/commit/fb5ffd146a5a33820cfa7541e5ce09098f3d541a
For installing in the mea time pin `Flask-AppBuilder=1.11.0'
> On 4 Oct 2018, at 00:41, Kyle Hamlin <ha...@gmail.com> wrote:
>
> Hi,
>
> Today I was trying to upgrade Airflow to 1.10.0 and it appears that there
> are some version conflicts with click and flask-login. I uncovered these
> because I use Pipenv to manage our project's dependencies. You can see here
> that Flask-AppBuilder pins click==6.7 and flask-login>=0.3,<0.5
>
> https://github.com/dpgaspar/Flask-AppBuilder/blob/master/setup.py#L37-L47
>
> I'm able to force pipenv to install click==6.7 because that is not pinned
> in Airflow's setup.py, but I can do nothing about flask-login because
> Airflow pins the flask-login version:
> https://github.com/apache/incubator-airflow/blob/master/setup.py#L304
>
> This prevents me from being able to upgrade to 1.10.0.
>
> *Pipenv's Graphed project dependencies (conflicts highlighted):*
>
> apache-airflow==1.10.0
> - alembic [required: >=0.8.3,<0.9, installed: 0.8.10]
> - Mako [required: Any, installed: 1.0.7]
> - MarkupSafe [required: >=0.9.2, installed: 1.0]
> - python-editor [required: >=0.3, installed: 1.0.3]
> - SQLAlchemy [required: >=0.7.6, installed: 1.2.12]
> - bleach [required: ==2.1.2, installed: 2.1.2]
> - html5lib [required:
>> =0.99999999pre,!=1.0b8,!=1.0b7,!=1.0b6,!=1.0b5,!=1.0b4,!=1.0b3,!=1.0b2,!=1.0b1,
> installed: 1.0.1]
> - six [required: >=1.9, installed: 1.11.0]
> - webencodings [required: Any, installed: 0.5.1]
> - six [required: Any, installed: 1.11.0]
> - configparser [required: >=3.5.0,<3.6.0, installed: 3.5.0]
> - croniter [required: >=0.3.17,<0.4, installed: 0.3.25]
> - python-dateutil [required: Any, installed: 2.7.3]
> - six [required: >=1.5, installed: 1.11.0]
> - dill [required: >=0.2.2,<0.3, installed: 0.2.8.2]
> - flask [required: >=0.12.4,<0.13, installed: 0.12.4]
> - click [required: >=2.0, installed: 7.0]
> - itsdangerous [required: >=0.21, installed: 0.24]
> - Jinja2 [required: >=2.4, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - Werkzeug [required: >=0.7, installed: 0.14.1]
> - flask-admin [required: ==1.4.1, installed: 1.4.1]
> - Flask [required: >=0.7, installed: 0.12.4]
> - click [required: >=2.0, installed: 7.0]
> - itsdangerous [required: >=0.21, installed: 0.24]
> - Jinja2 [required: >=2.4, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - Werkzeug [required: >=0.7, installed: 0.14.1]
> - wtforms [required: Any, installed: 2.2.1]
> - flask-appbuilder [required: >=1.11.1,<2.0.0, installed: 1.12.0]
> - click [required: ==6.7, installed: 7.0]
> - colorama [required: ==0.3.9, installed: 0.3.9]
> - Flask [required: >=0.10.0,<0.12.99, installed: 0.12.4]
> - click [required: >=2.0, installed: 7.0]
> - itsdangerous [required: >=0.21, installed: 0.24]
> - Jinja2 [required: >=2.4, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - Werkzeug [required: >=0.7, installed: 0.14.1]
> - Flask-Babel [required: ==0.11.1, installed: 0.11.1]
> - Babel [required: >=2.3, installed: 2.6.0]
> - pytz [required: >=0a, installed: 2018.5]
> - Flask [required: Any, installed: 0.12.4]
> - click [required: >=2.0, installed: 7.0]
> - itsdangerous [required: >=0.21, installed: 0.24]
> - Jinja2 [required: >=2.4, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - Werkzeug [required: >=0.7, installed: 0.14.1]
> - Jinja2 [required: >=2.5, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - Flask-Login [required: >=0.3,<0.5, installed: 0.2.11]
> - Flask [required: Any, installed: 0.12.4]
> - click [required: >=2.0, installed: 7.0]
> - itsdangerous [required: >=0.21, installed: 0.24]
> - Jinja2 [required: >=2.4, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - Werkzeug [required: >=0.7, installed: 0.14.1]
> - Flask-OpenID [required: ==1.2.5, installed: 1.2.5]
> - Flask [required: >=0.10.1, installed: 0.12.4]
> - click [required: >=2.0, installed: 7.0]
> - itsdangerous [required: >=0.21, installed: 0.24]
> - Jinja2 [required: >=2.4, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - Werkzeug [required: >=0.7, installed: 0.14.1]
> - python3-openid [required: >=2.0, installed: 3.1.0]
> - defusedxml [required: Any, installed: 0.5.0]
> - Flask-SQLAlchemy [required: ==2.1, installed: 2.1]
> - Flask [required: >=0.10, installed: 0.12.4]
> - click [required: >=2.0, installed: 7.0]
> - itsdangerous [required: >=0.21, installed: 0.24]
> - Jinja2 [required: >=2.4, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - Werkzeug [required: >=0.7, installed: 0.14.1]
> - SQLAlchemy [required: >=0.7, installed: 1.2.12]
> - Flask-WTF [required: ==0.14.2, installed: 0.14.2]
> - Flask [required: Any, installed: 0.12.4]
> - click [required: >=2.0, installed: 7.0]
> - itsdangerous [required: >=0.21, installed: 0.24]
> - Jinja2 [required: >=2.4, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - Werkzeug [required: >=0.7, installed: 0.14.1]
> - WTForms [required: Any, installed: 2.2.1]
> - python-dateutil [required: >=2.3,<3, installed: 2.7.3]
> - six [required: >=1.5, installed: 1.11.0]
> - flask-caching [required: >=1.3.3,<1.4.0, installed: 1.3.3]
> - Flask [required: Any, installed: 0.12.4]
> - click [required: >=2.0, installed: 7.0]
> - itsdangerous [required: >=0.21, installed: 0.24]
> - Jinja2 [required: >=2.4, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - Werkzeug [required: >=0.7, installed: 0.14.1]
> - Werkzeug [required: >=0.12, installed: 0.14.1]
> - flask-login [required: ==0.2.11, installed: 0.2.11]
> - Flask [required: Any, installed: 0.12.4]
> - click [required: >=2.0, installed: 7.0]
> - itsdangerous [required: >=0.21, installed: 0.24]
> - Jinja2 [required: >=2.4, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - Werkzeug [required: >=0.7, installed: 0.14.1]
> - flask-swagger [required: ==0.2.13, installed: 0.2.13]
> - Flask [required: >=0.10, installed: 0.12.4]
> - click [required: >=2.0, installed: 7.0]
> - itsdangerous [required: >=0.21, installed: 0.24]
> - Jinja2 [required: >=2.4, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - Werkzeug [required: >=0.7, installed: 0.14.1]
> - PyYAML [required: >=3.0, installed: 3.13]
> - flask-wtf [required: >=0.14.2,<0.15, installed: 0.14.2]
> - Flask [required: Any, installed: 0.12.4]
> - click [required: >=2.0, installed: 7.0]
> - itsdangerous [required: >=0.21, installed: 0.24]
> - Jinja2 [required: >=2.4, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - Werkzeug [required: >=0.7, installed: 0.14.1]
> - WTForms [required: Any, installed: 2.2.1]
> - funcsigs [required: ==1.0.0, installed: 1.0.0]
> - ordereddict [required: Any, installed: 1.1]
> - future [required: >=0.16.0,<0.17, installed: 0.16.0]
> - gitpython [required: >=2.0.2, installed: 2.1.11]
> - gitdb2 [required: >=2.0.0, installed: 2.0.4]
> - smmap2 [required: >=2.0.0, installed: 2.0.4]
> - gunicorn [required: >=19.4.0,<20.0, installed: 19.9.0]
> - iso8601 [required: >=0.1.12, installed: 0.1.12]
> - jinja2 [required: >=2.7.3,<2.9.0, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - lxml [required: >=3.6.0,<4.0, installed: 3.8.0]
> - markdown [required: >=2.5.2,<3.0, installed: 2.6.11]
> - pandas [required: >=0.17.1,<1.0.0, installed: 0.23.4]
> - numpy [required: >=1.9.0, installed: 1.15.2]
> - python-dateutil [required: >=2.5.0, installed: 2.7.3]
> - six [required: >=1.5, installed: 1.11.0]
> - pytz [required: >=2011k, installed: 2018.5]
> - pendulum [required: ==1.4.4, installed: 1.4.4]
> - python-dateutil [required: >=2.6.0.0,<3.0.0.0, installed: 2.7.3]
> - six [required: >=1.5, installed: 1.11.0]
> - pytzdata [required: >=2018.3.0.0, installed: 2018.5]
> - tzlocal [required: >=1.5.0.0,<2.0.0.0, installed: 1.5.1]
> - pytz [required: Any, installed: 2018.5]
> - psutil [required: >=4.2.0,<5.0.0, installed: 4.4.2]
> - pygments [required: >=2.0.1,<3.0, installed: 2.2.0]
> - python-daemon [required: >=2.1.1,<2.2, installed: 2.1.2]
> - docutils [required: Any, installed: 0.14]
> - lockfile [required: >=0.10, installed: 0.12.2]
> - setuptools [required: Any, installed: 40.4.3]
> - python-dateutil [required: >=2.3,<3, installed: 2.7.3]
> - six [required: >=1.5, installed: 1.11.0]
> - python-nvd3 [required: ==0.15.0, installed: 0.15.0]
> - Jinja2 [required: >=2.8, installed: 2.8.1]
> - MarkupSafe [required: Any, installed: 1.0]
> - python-slugify [required: >=1.2.5, installed: 1.2.6]
> - Unidecode [required: >=0.04.16, installed: 1.0.22]
> - requests [required: >=2.5.1,<3, installed: 2.19.1]
> - certifi [required: >=2017.4.17, installed: 2018.8.24]
> - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
> - idna [required: >=2.5,<2.8, installed: 2.7]
> - urllib3 [required: >=1.21.1,<1.24, installed: 1.23]
> - setproctitle [required: >=1.1.8,<2, installed: 1.1.10]
> - sqlalchemy [required: >=1.1.15,<1.2.0, installed: 1.2.12]
> - tabulate [required: >=0.7.5,<0.8.0, installed: 0.7.7]
> - tenacity [required: ==4.8.0, installed: 4.8.0]
> - monotonic [required: >=0.6, installed: 1.5]
> - six [required: >=1.9.0, installed: 1.11.0]
> - thrift [required: >=0.9.2, installed: 0.11.0]
> - six [required: >=1.7.2, installed: 1.11.0]
> - tzlocal [required: >=1.4, installed: 1.5.1]
> - pytz [required: Any, installed: 2018.5]
> - unicodecsv [required: >=0.14.1, installed: 0.14.1]
> - werkzeug [required: >=0.14.1,<0.15.0, installed: 0.14.1]
> - zope.deprecation [required: >=4.0,<5.0, installed: 4.3.0]
> - setuptools [required: Any, installed: 40.4.3]
>
> --
> Kyle Hamlin