Issue 1:
Apache Airflow version: 2.0.1

Environment: Python virtual environment based on circleci/python:3.7.9-stretch

What happened: We have CircleCI running unit tests for an extensions library we built for airflow. It

It runs unit tests in a virtual environment initialized with the code below:

python3 -m venv virtualenv
. virtualenv/bin/activate
pip install -U pip==19.3.1 wheel setuptools pylint
pip install -i https://$ARTIFACTORY_USERNAME:$ARTIFACTORY_PASSWORD@liveintent.jfrog.io/liveintent/api/pypi/pypi/simple/ -r requirements.txt

This was our requirements.txt file

pyparsing==2.4.6
pyrsistent==0.16.0
pytest==5.3.5
apache-airflow==2.0.1
apache-airflow-providers-amazon==1.1.0
apache-airflow-providers-cncf-kubernetes==1.0.1
apache-airflow-providers-postgres==1.0.1
apache-airflow-providers-sftp==1.1.0
apache-airflow-providers-ssh==1.1.0
psycopg2==2.8.6
alembic==1.4.3
PyJWT==1.7.1
importlib-metadata==1.7.0

We run unit tests and linting like this

cd test
. ../virtualenv/bin/activate
export PYTHONPATH=$PYTHONPATH:/home/circleci/airflow-build/
airflow db init
pytest --junitxml pytest-result.xml
mkdir ../lint
cd ../li_airflow_common
find . -iname '*.py' | sort | xargs pylint -j0 --output-format=parseable --reports=n --msg-template='{path}:{module}:{line}: [{msg_id}({symbol}), {obj}] {msg}' | tee ../lint/pylint.log

As you can see, this will init a "local" airflow with SQLlite database. Recently we found that our builds that previously passed, fail with

DB: sqlite:////home/circleci/airflow/airflow.db
[2021-04-06 10:59:56,801] {db.py:674} INFO - Creating tables
/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/sqlalchemy/orm/relationships.py:3463 SAWarning: relationship 'DagRun.serialized_dag' will copy column serialized_dag.dag_id to column dag_run.dag_id, which conflicts with relationship(s): 'TaskInstance.dag_run' (copies task_instance.dag_id to dag_run.dag_id), 'DagRun.task_instances' (copies task_instance.dag_id to dag_run.dag_id). If this is not the intention, consider if these relationships should be linked with back_populates, or if viewonly=True should be applied to one or more if they are read-only. For the less common case that foreign key constraints are partially overlapping, the orm.foreign() annotation can be used to isolate the columns that should be written towards. The 'overlaps' parameter may be used to remove this warning. (Background on this error at: http://sqlalche.me/e/14/qzyx)
/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/sqlalchemy/orm/relationships.py:3463 SAWarning: relationship 'SerializedDagModel.dag_runs' will copy column serialized_dag.dag_id to column dag_run.dag_id, which conflicts with relationship(s): 'TaskInstance.dag_run' (copies task_instance.dag_id to dag_run.dag_id), 'DagRun.task_instances' (copies task_instance.dag_id to dag_run.dag_id). If this is not the intention, consider if these relationships should be linked with back_populates, or if viewonly=True should be applied to one or more if they are read-only. For the less common case that foreign key constraints are partially overlapping, the orm.foreign() annotation can be used to isolate the columns that should be written towards. The 'overlaps' parameter may be used to remove this warning. (Background on this error at: http://sqlalche.me/e/14/qzyx)
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
Traceback (most recent call last):
File "/home/circleci/airflow-build/virtualenv/bin/airflow", line 8, in <module>
sys.exit(main())
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/airflow/__main__.py", line 40, in main
args.func(args)
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/airflow/cli/cli_parser.py", line 48, in command
return func(*args, **kwargs)
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/airflow/cli/commands/db_command.py", line 31, in initdb
db.initdb()
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/airflow/utils/db.py", line 549, in initdb
upgradedb()
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/airflow/utils/db.py", line 684, in upgradedb
command.upgrade(config, 'heads')
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/alembic/command.py", line 298, in upgrade
script.run_env()
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/alembic/script/base.py", line 489, in run_env
util.load_python_file(self.dir, "env.py")
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/alembic/util/pyfiles.py", line 98, in load_python_file
module = load_module_py(module_id, path)
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/alembic/util/compat.py", line 184, in load_module_py
spec.loader.exec_module(module)
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/airflow/migrations/env.py", line 108, in <module>
run_migrations_online()
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/airflow/migrations/env.py", line 102, in run_migrations_online
context.run_migrations()
File "<string>", line 8, in run_migrations
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/alembic/runtime/environment.py", line 846, in run_migrations
self.get_context().run_migrations(**kw)
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/alembic/runtime/migration.py", line 511, in run_migrations
for step in self._migrations_fn(heads, self):
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/alembic/command.py", line 287, in upgrade
return script._upgrade_revs(revision, rev)
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/alembic/script/base.py", line 364, in _upgrade_revs
revs = list(revs)
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/alembic/script/revision.py", line 777, in _iterate_revisions
uppers = util.dedupe_tuple(self.get_revisions(upper))
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/alembic/script/revision.py", line 321, in get_revisions
resolved_id, branch_label = self._resolve_revision_number(id_)
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/alembic/script/revision.py", line 501, in _resolve_revision_number
self._revision_map
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/alembic/util/langhelpers.py", line 230, in __get__
obj.__dict__[self.__name__] = result = self.fget(obj)
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/alembic/script/revision.py", line 123, in _revision_map
for revision in self._generator():
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/alembic/script/base.py", line 112, in _load_revisions
script = Script._from_filename(self, vers, file_)
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/alembic/script/base.py", line 906, in _from_filename
module = util.load_python_file(dir_, filename)
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/alembic/util/pyfiles.py", line 98, in load_python_file
module = load_module_py(module_id, path)
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/alembic/util/compat.py", line 184, in load_module_py
spec.loader.exec_module(module)
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/airflow/migrations/versions/2c6edca13270_resource_based_permissions.py", line 29, in <module>
from airflow.www.app import create_app
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/airflow/www/app.py", line 38, in <module>
from airflow.www.extensions.init_views import (
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/airflow/www/extensions/init_views.py", line 29, in <module>
from airflow.www.views import lazy_add_provider_discovered_options_to_connection_form
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/airflow/www/views.py", line 96, in <module>
from airflow.www import auth, utils as wwwutils
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/airflow/www/utils.py", line 27, in <module>
from flask_appbuilder.models.sqla.interface import SQLAInterface
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/flask_appbuilder/models/sqla/interface.py", line 16, in <module>
from sqlalchemy_utils.types.uuid import UUIDType
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/sqlalchemy_utils/__init__.py", line 1, in <module>
from .aggregates import aggregated # noqa
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/sqlalchemy_utils/aggregates.py", line 372, in <module>
from .functions.orm import get_column_key
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/sqlalchemy_utils/functions/__init__.py", line 1, in <module>
from .database import ( # noqa
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/sqlalchemy_utils/functions/database.py", line 11, in <module>
from .orm import quote
File "/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/sqlalchemy_utils/functions/orm.py", line 14, in <module>
from sqlalchemy.orm.query import _ColumnEntity
ImportError: cannot import name '_ColumnEntity' from 'sqlalchemy.orm.query' (/home/circleci/airflow-build/virtualenv/lib/python3.7/site-packages/sqlalchemy/orm/query.py)

What you expected to happen: Builds pass with only airflow dependencies specified in requirements.txt. Quick googling points here https://stackoverflow.com/questions/66644975/importerror-cannot-import-name-columnentity-from-sqlalchemy-orm-query

How to reproduce it: Init a virtual env with requirements.txt contents from above

Anything else we need to know: This is fixed by adding sqlalchemy < 1.4.0 to the requirements.txt. However, I feel this is more of a quick hack rather than a proper fix. I would expect apache-airflow to correctly reference its dependencies, so no amendments to imported versions are required

Issue 2:
Apache Airflow version: 1.10.12

Kubernetes version (if you are using kubernetes) (use kubectl version):

Environment:

Cloud provider or hardware configuration: Local PC

OS (e.g. from /etc/os-release): Ubuntu 20.04

Kernel (e.g. uname -a): 5.4.0-56-generic #62-Ubuntu SMP

Install tools: docker-compose using https://github.com/puckel/docker-airflow

Others:

What happened:

Webserver will not start due to airflow error: ImportError: cannot import name 'resolve_types' from 'attr' (/usr/local/lib/python3.7/site-packages/attr/init.py)

What you expected to happen:

Webserver start to test dags locally

How to reproduce it:

Use the docker-compose container above https://github.com/puckel/docker-airflow.git

Ubuntu 20.04

Run docker-compose up

Error occurs every single time.

Things already tried:

Modified dockerfile to include constraints for Python 3.7 container: --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-1.10.12/constraints-3.7.txt"

Added cattrs==1.0.0

Downgraded pip==20.2.4

Added attrs

None of the above suggestions are working. Anyone able to reproduce this and help solve?