pypa / pip

The Python package installer
https://pip.pypa.io/
MIT License
9.53k stars 3.03k forks source link

Unrelated packages are reported as conflict #9998

Closed uranusjr closed 3 years ago

uranusjr commented 3 years ago

Description

From apache/airflow#15790

The reported conflict

The conflict is caused by:
    connexion[flask,swagger-ui] 2.6.0 depends on connexion 2.6.0 (from https://files.pythonhosted.org/packages/a7/27/d8258c073989776014d49bbc8049a9b0842aaf776f462158d8a885f8c6a2/connexion-2.6.0-py2.py3-none-any.whl#sha256=c568e579f84be808e387dcb8570bb00a536891be1318718a0dad3ba90f034191 (from https://pypi.org/simple/connexion/) (requires-python:>=3.6))
    The user requested (constraint) connexion==2.7.0

has nothing to do with the conflict. As far as I can work out (the dependency graph is huge and I didn't graph out all the packages, so there's a chance I missed something), connexion==2.7.0 can satisfy its part of the dependency sub-graph. The conflict happen elsewhere in the graph:

distribution                              dependency
====================================================================================================
(root)                                    apache[...]==2.0.2
apache[google]==2.0.2                     pandas-gbq<0.15.0
pandas-gbq==0.14.1                        google-cloud-bigquery[bqstorage,pandas]<3.0.0dev,>=1.11.1
google-cloud-bigquery[bqstorage]==1.28.0  google-cloud-bigquery-storage<2.0.0dev,>=1.0.0
                                          pyarrow<2.0dev,>=1.0.0

with constraints

google-cloud-bigquery-storage==2.4.0
pyarrow==2.0.0

so there's something very wrong with the reporting logic.

Expected behavior

The resolver should report something that is around google-cloud-bigquery, pandas, and pyarrow. It should not mention connexion if it's not really causing the conflict.

pip version

21.1+ (different bug on 21.0.x prevents installation)

Python version

3.6

OS

Ubuntu 16.04, likely any manylinux-compatible distros

How to Reproduce

pip install --constraint https://raw.githubusercontent.com/apache/airflow/constraints-2.0.2/constraints-3.6.txt 'apache-airflow[google]==2.0.2'

Output

Collecting apache-airflow[google]==2.0.2
  Using cached apache_airflow-2.0.2-py3-none-any.whl (4.6 MB)
Collecting sqlalchemy<1.4,>=1.3.18
  Using cached SQLAlchemy-1.3.24-cp36-cp36m-manylinux2010_x86_64.whl (1.3 MB)
Collecting marshmallow-oneofschema>=2.0.1
  Using cached marshmallow_oneofschema-2.1.0-py2.py3-none-any.whl (5.7 kB)
Collecting flask-wtf<0.15,>=0.14.3
  Using cached Flask_WTF-0.14.3-py2.py3-none-any.whl (13 kB)
Collecting blinker
  Using cached blinker-1.4-py3-none-any.whl
Collecting apache-airflow-providers-sqlite
  Using cached apache_airflow_providers_sqlite-1.0.2-py3-none-any.whl (14 kB)
Collecting jinja2<2.12.0,>=2.10.1
  Using cached Jinja2-2.11.3-py2.py3-none-any.whl (125 kB)
Collecting python-slugify<5.0,>=3.0.0
  Using cached python_slugify-4.0.1-py2.py3-none-any.whl
Collecting attrs<21.0,>=20.0
  Using cached attrs-20.3.0-py2.py3-none-any.whl (49 kB)
Collecting argcomplete~=1.10
  Using cached argcomplete-1.12.3-py2.py3-none-any.whl (38 kB)
Collecting lockfile>=0.12.2
  Using cached lockfile-0.12.2-py2.py3-none-any.whl (13 kB)
Collecting connexion[flask,swagger-ui]<3,>=2.6.0
  Using cached connexion-2.7.0-py2.py3-none-any.whl (77 kB)
Collecting lazy-object-proxy
  Using cached lazy_object_proxy-1.4.3-cp36-cp36m-manylinux1_x86_64.whl (55 kB)
Collecting cattrs<1.1.0,>=1.0
  Using cached cattrs-1.0.0-py2.py3-none-any.whl (14 kB)
Collecting markupsafe<2.0,>=1.1.1
  Using cached MarkupSafe-1.1.1-cp36-cp36m-manylinux2010_x86_64.whl (32 kB)
Collecting pyjwt<2
  Using cached PyJWT-1.7.1-py2.py3-none-any.whl (18 kB)
Collecting setproctitle<2,>=1.1.8
  Using cached setproctitle-1.2.2-cp36-cp36m-manylinux1_x86_64.whl (35 kB)
Collecting jsonschema~=3.0
  Using cached jsonschema-3.2.0-py2.py3-none-any.whl (56 kB)
Collecting flask<2.0,>=1.1.0
  Using cached Flask-1.1.2-py2.py3-none-any.whl (94 kB)
Collecting python-daemon>=2.2.4
  Using cached python_daemon-2.3.0-py2.py3-none-any.whl (35 kB)
Collecting rich==9.2.0
  Using cached rich-9.2.0-py3-none-any.whl (164 kB)
Collecting sqlalchemy-jsonfield~=1.0
  Using cached SQLAlchemy_JSONField-1.0.0-py3-none-any.whl (10 kB)
Collecting pygments<3.0,>=2.0.1
  Using cached Pygments-2.8.1-py3-none-any.whl (983 kB)
Collecting alembic<2.0,>=1.2
  Using cached alembic-1.5.8-py2.py3-none-any.whl (159 kB)
Collecting colorlog>=4.0.2
  Using cached colorlog-5.0.1-py2.py3-none-any.whl (10 kB)
Collecting python-nvd3~=0.15.0
  Using cached python_nvd3-0.15.0-py3-none-any.whl
Collecting psutil<6.0.0,>=4.2.0
  Using cached psutil-5.8.0-cp36-cp36m-manylinux2010_x86_64.whl (291 kB)
Collecting apache-airflow-providers-imap
  Using cached apache_airflow_providers_imap-1.0.1-py3-none-any.whl (15 kB)
Collecting importlib-metadata~=1.7
  Using cached importlib_metadata-1.7.0-py2.py3-none-any.whl (31 kB)
Collecting numpy<1.20
  Using cached numpy-1.19.5-cp36-cp36m-manylinux2010_x86_64.whl (14.8 MB)
Collecting markdown<4.0,>=2.5.2
  Using cached Markdown-3.3.4-py3-none-any.whl (97 kB)
Collecting gunicorn<20.0,>=19.5.0
  Using cached gunicorn-19.10.0-py2.py3-none-any.whl (113 kB)
Collecting pep562~=1.0
  Using cached pep562-1.0-py2.py3-none-any.whl (7.0 kB)
Collecting apache-airflow-providers-ftp
  Using cached apache_airflow_providers_ftp-1.0.1-py3-none-any.whl (14 kB)
Collecting python-dateutil<3,>=2.3
  Using cached python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)
Collecting importlib-resources~=1.4
  Using cached importlib_resources-1.5.0-py2.py3-none-any.whl (21 kB)
Collecting dill<0.4,>=0.2.2
  Using cached dill-0.3.2-py3-none-any.whl
Collecting termcolor>=1.1.0
  Using cached termcolor-1.1.0-py3-none-any.whl
Collecting croniter<0.4,>=0.3.17
  Using cached croniter-0.3.37-py2.py3-none-any.whl (13 kB)
Collecting pandas<1.2,>=0.17.1
  Using cached pandas-1.1.5-cp36-cp36m-manylinux1_x86_64.whl (9.5 MB)
Collecting graphviz>=0.12
  Using cached graphviz-0.16-py2.py3-none-any.whl (19 kB)
Collecting requests>=2.20.0
  Using cached requests-2.25.1-py2.py3-none-any.whl (61 kB)
Collecting typing-extensions>=3.7.4
  Using cached typing_extensions-3.7.4.3-py3-none-any.whl (22 kB)
Collecting iso8601>=0.1.12
  Using cached iso8601-0.1.14-py2.py3-none-any.whl (9.5 kB)
Collecting tabulate<0.9,>=0.7.5
  Using cached tabulate-0.8.9-py3-none-any.whl (25 kB)
Collecting apache-airflow-providers-http
  Using cached apache_airflow_providers_http-1.1.1-py3-none-any.whl (20 kB)
Collecting python3-openid~=3.2
  Using cached python3_openid-3.2.0-py3-none-any.whl (133 kB)
Collecting cryptography>=0.9.3
  Using cached cryptography-3.4.7-cp36-abi3-manylinux2014_x86_64.whl (3.2 MB)
Collecting cached-property~=1.5
  Using cached cached_property-1.5.2-py2.py3-none-any.whl (7.6 kB)
Collecting flask-appbuilder>=3.1.1,~=3.1
  Using cached Flask_AppBuilder-3.2.3-py3-none-any.whl (1.8 MB)
Collecting pendulum~=2.0
  Using cached pendulum-2.1.2-cp36-cp36m-manylinux1_x86_64.whl (154 kB)
Collecting flask-caching<2.0.0,>=1.5.0
  Using cached Flask_Caching-1.10.1-py3-none-any.whl (34 kB)
Collecting itsdangerous>=1.1.0
  Using cached itsdangerous-1.1.0-py2.py3-none-any.whl (16 kB)
Collecting werkzeug>=1.0.1,~=1.0
  Using cached Werkzeug-1.0.1-py2.py3-none-any.whl (298 kB)
Collecting tenacity~=6.2.0
  Using cached tenacity-6.2.0-py2.py3-none-any.whl (24 kB)
Collecting flask-login<0.5,>=0.3
  Using cached Flask_Login-0.4.1-py2.py3-none-any.whl
Collecting unicodecsv>=0.14.1
  Using cached unicodecsv-0.14.1-py3-none-any.whl
Collecting apache-airflow-providers-google
  Using cached apache_airflow_providers_google-2.2.0-py3-none-any.whl (714 kB)
Collecting commonmark<0.10.0,>=0.9.0
  Using cached commonmark-0.9.1-py2.py3-none-any.whl (51 kB)
Collecting colorama<0.5.0,>=0.4.0
  Using cached colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Collecting dataclasses<0.8,>=0.7
  Using cached dataclasses-0.7-py3-none-any.whl (18 kB)
Collecting Mako
  Using cached Mako-1.1.4-py2.py3-none-any.whl (75 kB)
Collecting python-editor>=0.3
  Using cached python_editor-1.0.4-py3-none-any.whl (4.9 kB)
Collecting inflection>=0.3.1
  Using cached inflection-0.5.1-py2.py3-none-any.whl (9.5 kB)
Collecting openapi-spec-validator>=0.2.4
  Using cached openapi_spec_validator-0.3.0-py3-none-any.whl (31 kB)
Collecting clickclick>=1.2
  Using cached clickclick-20.10.2-py2.py3-none-any.whl (7.4 kB)
Collecting PyYAML>=5.1
  Using cached PyYAML-5.4.1-cp36-cp36m-manylinux1_x86_64.whl (640 kB)
Collecting swagger-ui-bundle>=0.0.2
  Using cached swagger_ui_bundle-0.0.8-py3-none-any.whl (3.8 MB)
Collecting click>=4.0
  Using cached click-7.1.2-py2.py3-none-any.whl (82 kB)
Collecting natsort
  Using cached natsort-7.1.1-py3-none-any.whl (35 kB)
Collecting cffi>=1.12
  Using cached cffi-1.14.5-cp36-cp36m-manylinux1_x86_64.whl (401 kB)
Collecting pycparser
  Using cached pycparser-2.20-py2.py3-none-any.whl (112 kB)
Collecting marshmallow<4,>=3
  Using cached marshmallow-3.11.1-py2.py3-none-any.whl (46 kB)
Collecting apispec[yaml]<4,>=3.3
  Using cached apispec-3.3.2-py2.py3-none-any.whl (27 kB)
Collecting marshmallow-sqlalchemy<0.24.0,>=0.22.0
  Using cached marshmallow_sqlalchemy-0.23.1-py2.py3-none-any.whl (18 kB)
Collecting Flask-Babel<2,>=1
  Using cached Flask_Babel-1.0.0-py3-none-any.whl (9.5 kB)
Collecting Flask-OpenID<2,>=1.2.5
  Using cached Flask_OpenID-1.2.5-py3-none-any.whl
Collecting marshmallow-enum<2,>=1.5.1
  Using cached marshmallow_enum-1.5.1-py2.py3-none-any.whl (4.2 kB)
Collecting Flask-JWT-Extended<4,>=3.18
  Using cached Flask_JWT_Extended-3.25.1-py2.py3-none-any.whl
Collecting Flask-SQLAlchemy<3,>=2.4
  Using cached Flask_SQLAlchemy-2.5.1-py2.py3-none-any.whl (17 kB)
Collecting email-validator<2,>=1.0.5
  Using cached email_validator-1.1.2-py2.py3-none-any.whl (17 kB)
Collecting prison<1.0.0,>=0.1.3
  Using cached prison-0.1.3-py2.py3-none-any.whl (5.8 kB)
Collecting sqlalchemy-utils<1,>=0.32.21
  Using cached SQLAlchemy_Utils-0.37.0-py3-none-any.whl (99 kB)
Collecting idna>=2.0.0
  Using cached idna-2.10-py2.py3-none-any.whl (58 kB)
Collecting dnspython>=1.15.0
  Using cached dnspython-1.16.0-py2.py3-none-any.whl (188 kB)
Collecting pytz
  Using cached pytz-2021.1-py2.py3-none-any.whl (510 kB)
Collecting Babel>=2.3
  Using cached Babel-2.9.0-py2.py3-none-any.whl (8.8 MB)
Collecting six
  Using cached six-1.15.0-py2.py3-none-any.whl (10 kB)
Collecting WTForms
  Using cached WTForms-2.3.3-py2.py3-none-any.whl (169 kB)
Collecting zipp>=0.5
  Using cached zipp-3.4.1-py3-none-any.whl (5.2 kB)
Collecting pyrsistent>=0.14.0
  Using cached pyrsistent-0.17.3-cp36-cp36m-linux_x86_64.whl
Requirement already satisfied: setuptools in ./x/lib/python3.6/site-packages (from jsonschema~=3.0->apache-airflow[google]==2.0.2) (56.0.0)
Collecting openapi-schema-validator
  Using cached openapi_schema_validator-0.1.5-py3-none-any.whl (7.9 kB)
Collecting pytzdata>=2020.1
  Using cached pytzdata-2020.1-py2.py3-none-any.whl (489 kB)
Collecting docutils
  Using cached docutils-0.17.1-py2.py3-none-any.whl (575 kB)
Collecting text-unidecode>=1.3
  Using cached text_unidecode-1.3-py2.py3-none-any.whl (78 kB)
Collecting defusedxml
  Using cached defusedxml-0.7.1-py2.py3-none-any.whl (25 kB)
Collecting urllib3<1.27,>=1.21.1
  Using cached urllib3-1.25.11-py2.py3-none-any.whl (127 kB)
Collecting chardet<5,>=3.0.2
  Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)
Collecting certifi>=2017.4.17
  Using cached certifi-2020.12.5-py2.py3-none-any.whl (147 kB)
Collecting typing>=3.6
  Using cached typing-3.7.4.3-py3-none-any.whl
Collecting google-cloud-pubsub<3.0.0,>=2.0.0
  Using cached google_cloud_pubsub-2.4.1-py2.py3-none-any.whl (212 kB)
Collecting google-cloud-dataproc<3.0.0,>=2.2.0
  Using cached google_cloud_dataproc-2.3.1-py2.py3-none-any.whl (348 kB)
Collecting google-cloud-os-login<3.0.0,>=2.0.0
  Using cached google_cloud_os_login-2.1.0-py2.py3-none-any.whl (41 kB)
Collecting google-cloud-datacatalog<4.0.0,>=3.0.0
  Using cached google_cloud_datacatalog-3.1.1-py2.py3-none-any.whl (243 kB)
Collecting google-cloud-language<2.0.0,>=1.1.1
  Using cached google_cloud_language-1.3.0-py2.py3-none-any.whl (83 kB)
Collecting google-cloud-dlp<2.0.0,>=0.11.0
  Using cached google_cloud_dlp-1.0.0-py2.py3-none-any.whl (169 kB)
Collecting google-cloud-storage<2.0.0,>=1.30
  Using cached google_cloud_storage-1.37.1-py2.py3-none-any.whl (103 kB)
Collecting google-cloud-bigtable<2.0.0,>=1.0.0
  Using cached google_cloud_bigtable-1.7.0-py2.py3-none-any.whl (267 kB)
Collecting google-ads<8.0.0,>=4.0.0
  Using cached google_ads-4.0.0-py3-none-any.whl
Collecting google-cloud-kms<3.0.0,>=2.0.0
  Using cached google_cloud_kms-2.2.0-py2.py3-none-any.whl (80 kB)
Collecting google-cloud-speech<2.0.0,>=0.36.3
  Using cached google_cloud_speech-1.3.2-py2.py3-none-any.whl (88 kB)
Collecting google-cloud-memcache>=0.2.0
  Using cached google_cloud_memcache-0.3.0-py2.py3-none-any.whl (111 kB)
Collecting google-cloud-automl<3.0.0,>=2.1.0
  Using cached google_cloud_automl-2.3.0-py2.py3-none-any.whl (381 kB)
Collecting json-merge-patch~=0.2
  Using cached json_merge_patch-0.2-py3-none-any.whl
Collecting google-api-python-client<2.0.0,>=1.6.0
  Using cached google_api_python_client-1.12.8-py2.py3-none-any.whl (61 kB)
Collecting google-auth-httplib2>=0.0.1
  Using cached google_auth_httplib2-0.1.0-py2.py3-none-any.whl (9.3 kB)
Collecting google-cloud-spanner<2.0.0,>=1.10.0
  Using cached google_cloud_spanner-1.19.1-py2.py3-none-any.whl (255 kB)
Collecting google-api-core<2.0.0,>=1.25.1
  Using cached google_api_core-1.26.3-py2.py3-none-any.whl (93 kB)
Collecting google-cloud-container<2.0.0,>=0.1.1
  Using cached google_cloud_container-1.0.1-py2.py3-none-any.whl (188 kB)
Collecting google-cloud-tasks<3.0.0,>=2.0.0
  Using cached google_cloud_tasks-2.2.0-py2.py3-none-any.whl (259 kB)
Collecting google-cloud-monitoring<3.0.0,>=2.0.0
  Using cached google_cloud_monitoring-2.2.1-py2.py3-none-any.whl (315 kB)
Collecting pandas-gbq<0.15.0
  Using cached pandas_gbq-0.14.1-py3-none-any.whl (24 kB)
Collecting google-cloud-videointelligence<2.0.0,>=1.7.0
  Using cached google_cloud_videointelligence-1.16.1-py2.py3-none-any.whl (183 kB)
Collecting google-cloud-vision<2.0.0,>=0.35.2
  Using cached google_cloud_vision-1.0.0-py2.py3-none-any.whl (435 kB)
Collecting google-cloud-translate<2.0.0,>=1.5.0
  Using cached google_cloud_translate-1.7.0-py2.py3-none-any.whl (90 kB)
Collecting google-auth<2.0.0,>=1.0.0
  Using cached google_auth-1.29.0-py2.py3-none-any.whl (142 kB)
Collecting google-cloud-logging<3.0.0,>=2.1.1
  Using cached google_cloud_logging-2.3.1-py2.py3-none-any.whl (189 kB)
Collecting plyvel
  Using cached plyvel-1.3.0-cp36-cp36m-manylinux2010_x86_64.whl (687 kB)
Collecting PyOpenSSL
  Using cached pyOpenSSL-19.1.0-py2.py3-none-any.whl (53 kB)
Collecting google-cloud-redis<3.0.0,>=2.0.0
  Using cached google_cloud_redis-2.1.0-py2.py3-none-any.whl (99 kB)
Collecting google-cloud-workflows<2.0.0,>=0.1.0
  Using cached google_cloud_workflows-0.2.0-py2.py3-none-any.whl (86 kB)
Collecting google-cloud-texttospeech<2.0.0,>=0.4.0
  Using cached google_cloud_texttospeech-1.0.1-py2.py3-none-any.whl (50 kB)
Collecting grpcio-gcp>=0.2.2
  Using cached grpcio_gcp-0.2.2-py2.py3-none-any.whl (9.4 kB)
Collecting google-cloud-bigquery-datatransfer<4.0.0,>=3.0.0
  Using cached google_cloud_bigquery_datatransfer-3.1.1-py2.py3-none-any.whl (67 kB)
Collecting google-cloud-secret-manager<2.0.0,>=0.2.0
  Using cached google_cloud_secret_manager-1.0.0-py2.py3-none-any.whl (63 kB)
Collecting grpcio<2.0.0,>=1.18.0
  Using cached grpcio-1.37.0-cp36-cp36m-manylinux2014_x86_64.whl (4.2 MB)
Collecting googleapis-common-protos<2.0.0,>=1.5.8
  Using cached googleapis_common_protos-1.53.0-py2.py3-none-any.whl (198 kB)
Collecting google-auth-oauthlib<1.0.0,>=0.0.1
  Using cached google_auth_oauthlib-0.4.4-py2.py3-none-any.whl (18 kB)
Collecting packaging>=14.3
  Using cached packaging-20.9-py2.py3-none-any.whl (40 kB)
Collecting protobuf>=3.12.0
  Using cached protobuf-3.15.8-cp36-cp36m-manylinux1_x86_64.whl (1.0 MB)
Collecting httplib2<1dev,>=0.15.0
  Using cached httplib2-0.17.4-py3-none-any.whl (95 kB)
Collecting uritemplate<4dev,>=3.0.0
  Using cached uritemplate-3.0.1-py2.py3-none-any.whl (15 kB)
Collecting cachetools<5.0,>=2.0.0
  Using cached cachetools-4.2.1-py3-none-any.whl (12 kB)
Collecting pyasn1-modules>=0.2.1
  Using cached pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)
Collecting rsa<5,>=3.1.4
  Using cached rsa-4.7.2-py3-none-any.whl (34 kB)
Collecting requests-oauthlib>=0.7.0
  Using cached requests_oauthlib-1.1.0-py2.py3-none-any.whl (21 kB)
Collecting google-api-core[grpc]<2.0.0dev,>=1.22.2
  Downloading google_api_core-1.27.0-py2.py3-none-any.whl (93 kB)
     |################################| 93 kB 446 kB/s
Collecting proto-plus>=1.10.0
  Using cached proto_plus-1.18.1-py3-none-any.whl (42 kB)
Collecting google-cloud-core<2.0dev,>=1.4.1
  Using cached google_cloud_core-1.6.0-py2.py3-none-any.whl (28 kB)
Collecting grpc-google-iam-v1<0.13dev,>=0.12.3
  Using cached grpc_google_iam_v1-0.12.3-py3-none-any.whl
Collecting libcst>=0.2.5
  Using cached libcst-0.3.18-py3-none-any.whl (512 kB)
Collecting google-resumable-media<2.0dev,>=1.2.0
  Using cached google_resumable_media-1.2.0-py2.py3-none-any.whl (75 kB)
Collecting google-crc32c<2.0dev,>=1.0
  Using cached google_crc32c-1.1.2-cp36-cp36m-manylinux2014_x86_64.whl (38 kB)
Collecting typing-inspect>=0.4.0
  Using cached typing_inspect-0.6.0-py3-none-any.whl (8.1 kB)
Collecting pyparsing>=2.0.2
  Using cached pyparsing-2.4.7-py2.py3-none-any.whl (67 kB)
Collecting pydata-google-auth
  Using cached pydata_google_auth-1.1.0-py2.py3-none-any.whl (13 kB)
Collecting google-cloud-bigquery[bqstorage,pandas]<3.0.0dev,>=1.11.1
  Downloading google_cloud_bigquery-2.16.1-py2.py3-none-any.whl (221 kB)
     |################################| 221 kB 1.7 MB/s
  Using cached google_cloud_bigquery-2.16.0-py2.py3-none-any.whl (221 kB)
  Using cached google_cloud_bigquery-2.15.0-py2.py3-none-any.whl (221 kB)
  Using cached google_cloud_bigquery-2.14.0-py2.py3-none-any.whl (219 kB)
  Using cached google_cloud_bigquery-2.13.1-py2.py3-none-any.whl (216 kB)
  Using cached google_cloud_bigquery-2.13.0-py2.py3-none-any.whl (216 kB)
  Using cached google_cloud_bigquery-2.12.0-py2.py3-none-any.whl (215 kB)
  Using cached google_cloud_bigquery-2.11.0-py2.py3-none-any.whl (215 kB)
  Using cached google_cloud_bigquery-2.10.0-py2.py3-none-any.whl (215 kB)
  Using cached google_cloud_bigquery-2.9.0-py2.py3-none-any.whl (213 kB)
  Using cached google_cloud_bigquery-2.8.0-py2.py3-none-any.whl (212 kB)
  Using cached google_cloud_bigquery-2.7.0-py2.py3-none-any.whl (211 kB)
  Using cached google_cloud_bigquery-2.6.2-py2.py3-none-any.whl (211 kB)
  Using cached google_cloud_bigquery-2.6.1-py2.py3-none-any.whl (211 kB)
  Using cached google_cloud_bigquery-2.6.0-py2.py3-none-any.whl (211 kB)
  Using cached google_cloud_bigquery-2.5.0-py2.py3-none-any.whl (210 kB)
  Using cached google_cloud_bigquery-2.4.0-py2.py3-none-any.whl (210 kB)
  Using cached google_cloud_bigquery-2.3.1-py2.py3-none-any.whl (208 kB)
  Using cached google_cloud_bigquery-2.2.0-py2.py3-none-any.whl (200 kB)
  Using cached google_cloud_bigquery-2.1.0-py2.py3-none-any.whl (190 kB)
  Using cached google_cloud_bigquery-2.0.0-py2.py3-none-any.whl (193 kB)
  Using cached google_cloud_bigquery-1.28.0-py2.py3-none-any.whl (187 kB)
  Using cached google_cloud_bigquery-1.27.2-py2.py3-none-any.whl (172 kB)
  Using cached google_cloud_bigquery-1.26.1-py2.py3-none-any.whl (170 kB)
  Using cached google_cloud_bigquery-1.26.0-py2.py3-none-any.whl (170 kB)
  Using cached google_cloud_bigquery-1.25.0-py2.py3-none-any.whl (169 kB)
  Using cached google_cloud_bigquery-1.24.0-py2.py3-none-any.whl (165 kB)
  Using cached google_cloud_bigquery-1.23.1-py2.py3-none-any.whl (162 kB)
  Using cached google_cloud_bigquery-1.23.0-py2.py3-none-any.whl (162 kB)
  Using cached google_cloud_bigquery-1.22.0-py2.py3-none-any.whl (161 kB)
  Using cached google_cloud_bigquery-1.21.0-py2.py3-none-any.whl (158 kB)
  Using cached google_cloud_bigquery-1.20.0-py2.py3-none-any.whl (154 kB)
  Using cached google_cloud_bigquery-1.19.1-py2.py3-none-any.whl (149 kB)
  Using cached google_cloud_bigquery-1.19.0-py2.py3-none-any.whl (149 kB)
  Using cached google_cloud_bigquery-1.18.1-py2.py3-none-any.whl (146 kB)
  Using cached google_cloud_bigquery-1.18.0-py2.py3-none-any.whl (146 kB)
  Using cached google_cloud_bigquery-1.17.1-py2.py3-none-any.whl (142 kB)
  Using cached google_cloud_bigquery-1.17.0-py2.py3-none-any.whl (140 kB)
  Using cached google_cloud_bigquery-1.16.1-py2.py3-none-any.whl (140 kB)
  Using cached google_cloud_bigquery-1.16.0-py2.py3-none-any.whl (139 kB)
  Using cached google_cloud_bigquery-1.15.1-py2.py3-none-any.whl (137 kB)
  Using cached google_cloud_bigquery-1.15.0-py2.py3-none-any.whl (133 kB)
  Using cached google_cloud_bigquery-1.14.1-py2.py3-none-any.whl (137 kB)
  Using cached google_cloud_bigquery-1.14.0-py2.py3-none-any.whl (132 kB)
  Using cached google_cloud_bigquery-1.13.1-py2.py3-none-any.whl (137 kB)
  Using cached google_cloud_bigquery-1.13.0-py2.py3-none-any.whl (132 kB)
  Using cached google_cloud_bigquery-1.12.2-py2.py3-none-any.whl (137 kB)
  Using cached google_cloud_bigquery-1.12.1-py2.py3-none-any.whl (130 kB)
  Using cached google_cloud_bigquery-1.12.0-py2.py3-none-any.whl (130 kB)
  Using cached google_cloud_bigquery-1.11.4-py2.py3-none-any.whl (134 kB)
  Using cached google_cloud_bigquery-1.11.3-py2.py3-none-any.whl (127 kB)
  Using cached google_cloud_bigquery-1.11.2-py2.py3-none-any.whl (127 kB)
  Using cached google_cloud_bigquery-1.11.1-py2.py3-none-any.whl (127 kB)
INFO: pip is looking at multiple versions of pandas-gbq to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of packaging to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of libcst to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of json-merge-patch to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of httplib2 to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of grpcio-gcp to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of grpcio to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of googleapis-common-protos[grpc] to determine which version is compatible with other requirements. This could take a while.
Collecting googleapis-common-protos[grpc]<2.0.0dev,>=1.5.2
  Using cached googleapis_common_protos-1.52.0-py2.py3-none-any.whl (100 kB)
  Using cached googleapis-common-protos-1.51.0.tar.gz (35 kB)
  Using cached googleapis-common-protos-1.50.0.tar.gz (29 kB)
  Using cached googleapis-common-protos-1.6.0.tar.gz (35 kB)
  Using cached googleapis-common-protos-1.5.10.tar.gz (37 kB)
  Using cached googleapis-common-protos-1.5.9.tar.gz (37 kB)
  Using cached googleapis-common-protos-1.5.8.tar.gz (33 kB)
  Using cached googleapis-common-protos-1.5.7.tar.gz (33 kB)
  Using cached googleapis-common-protos-1.5.6.tar.gz (33 kB)
  Using cached googleapis-common-protos-1.5.5.tar.gz (33 kB)
  Using cached googleapis-common-protos-1.5.4.tar.gz (33 kB)
  Using cached googleapis-common-protos-1.5.3.tar.gz (28 kB)
  Using cached googleapis-common-protos-1.5.2.tar.gz (28 kB)
INFO: pip is looking at multiple versions of grpc-google-iam-v1 to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of googleapis-common-protos to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-crc32c to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-resumable-media to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-cloud-workflows to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-cloud-vision to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-cloud-videointelligence to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-cloud-translate to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-cloud-texttospeech to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-cloud-tasks to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-cloud-storage to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-cloud-speech to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-api-core[grpc,grpcgcp] to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-cloud-spanner to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-cloud-secret-manager to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-cloud-redis to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-cloud-pubsub to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-cloud-os-login to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-cloud-monitoring to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-cloud-memcache to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-cloud-logging to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-cloud-language to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-cloud-kms to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-cloud-dlp to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-cloud-dataproc to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-cloud-datacatalog to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-cloud-core to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-cloud-container to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-cloud-bigtable to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-cloud-bigquery-datatransfer to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-api-core[grpc] to determine which version is compatible with other requirements. This could take a while.
Collecting google-api-core[grpc]<2.0.0dev,>=1.22.2
  Using cached google_api_core-1.26.2-py2.py3-none-any.whl (93 kB)
  Using cached google_api_core-1.26.1-py2.py3-none-any.whl (92 kB)
  Using cached google_api_core-1.26.0-py2.py3-none-any.whl (92 kB)
  Using cached google_api_core-1.25.1-py2.py3-none-any.whl (92 kB)
  Using cached google_api_core-1.25.0-py2.py3-none-any.whl (92 kB)
  Using cached google_api_core-1.24.1-py2.py3-none-any.whl (92 kB)
  Using cached google_api_core-1.24.0-py2.py3-none-any.whl (91 kB)
  Using cached google_api_core-1.23.0-py2.py3-none-any.whl (91 kB)
  Using cached google_api_core-1.22.4-py2.py3-none-any.whl (91 kB)
  Using cached google_api_core-1.22.3-py2.py3-none-any.whl (91 kB)
  Using cached google_api_core-1.22.2-py2.py3-none-any.whl (91 kB)
INFO: pip is looking at multiple versions of google-cloud-automl to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-auth-oauthlib to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-auth-httplib2 to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of cachetools to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-auth to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-api-python-client to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-api-core to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of google-ads to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of apache-airflow-providers-google to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of apache-airflow-providers-ftp to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of zipp to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of werkzeug to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of urllib3 to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of unicodecsv to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of typing-extensions to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of typing to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of text-unidecode to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of termcolor to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of tenacity to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of tabulate to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of swagger-ui-bundle to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of sqlalchemy-utils to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of sqlalchemy-jsonfield to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of sqlalchemy to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of six to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of setproctitle to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of chardet to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of certifi to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of requests to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pyyaml to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pytzdata to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pytz to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of python3-openid to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of python-slugify to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of python-nvd3 to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of python-editor to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of python-dateutil to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of python-daemon to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pyrsistent to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pyjwt to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pygments to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of psutil to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of prison to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pep562 to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pendulum to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pandas to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of openapi-spec-validator to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of numpy to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of marshmallow-sqlalchemy to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of marshmallow-oneofschema to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of marshmallow-enum to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of marshmallow to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of markupsafe to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of markdown to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of lockfile to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of jsonschema to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of jinja2 to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of itsdangerous to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of iso8601 to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of inflection to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of importlib-resources to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of importlib-metadata to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of idna to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of gunicorn to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of graphviz to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of flask-wtf to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of flask-sqlalchemy to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of flask-openid to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of flask-login to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of flask-jwt-extended to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of flask-caching to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of babel to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of flask-babel to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of dnspython to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of email-validator to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of apispec to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of apispec[yaml] to determine which version is compatible with other requirements. This could take a while.
Collecting apispec[yaml]<4,>=3.3
  Using cached apispec-3.3.1-py2.py3-none-any.whl (26 kB)
  Using cached apispec-3.3.0-py2.py3-none-any.whl (26 kB)
INFO: pip is looking at multiple versions of flask-appbuilder to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of flask to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of dill to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of dataclasses to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of cffi to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of cryptography to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of croniter to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of click to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of clickclick to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of connexion to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of connexion[flask,swagger-ui] to determine which version is compatible with other requirements. This could take a while.
Collecting connexion[flask,swagger-ui]<3,>=2.6.0
  Using cached connexion-2.6.0-py2.py3-none-any.whl (76 kB)
INFO: pip is looking at multiple versions of commonmark to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of colorlog to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of colorama to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of cattrs to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of cached-property to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of attrs to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of argcomplete to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of alembic to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of rich to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of <Python from Requires-Python> to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of apache-airflow to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of apache-airflow[google] to determine which version is compatible with other requirements. This could take a while.
ERROR: Cannot install connexion[flask,swagger-ui]==2.6.0 because these package versions have conflicting dependencies.

The conflict is caused by:
    connexion[flask,swagger-ui] 2.6.0 depends on connexion 2.6.0 (from https://files.pythonhosted.org/packages/a7/27/d8258c073989776014d49bbc8049a9b0842aaf776f462158d8a885f8c6a2/connexion-2.6.0-py2.py3-none-any.whl#sha256=c568e579f84be808e387dcb8570bb00a536891be1318718a0dad3ba90f034191 (from https://pypi.org/simple/connexion/) (requires-python:>=3.6))
    The user requested (constraint) connexion==2.7.0

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies

Code of Conduct

pradyunsg commented 3 years ago

This is fixed in pip 21.3:

❯ pip install --constraint https://raw.githubusercontent.com/apache/airflow/constraints-2.0.2/constraints-3.6.txt 'apache-airflow[google]==2.0.2'
Collecting apache-airflow[google]==2.0.2
  Downloading apache_airflow-2.0.2-py3-none-any.whl (4.6 MB)
     |████████████████████████████████| 4.6 MB 2.2 MB/s            
Collecting croniter<0.4,>=0.3.17
  Downloading croniter-0.3.37-py2.py3-none-any.whl (13 kB)
Collecting jinja2<2.12.0,>=2.10.1
  Downloading Jinja2-2.11.3-py2.py3-none-any.whl (125 kB)
     |████████████████████████████████| 125 kB 146.4 MB/s            
Collecting termcolor>=1.1.0
  Using cached termcolor-1.1.0.tar.gz (3.9 kB)
  Preparing metadata (setup.py) ... done
Collecting lockfile>=0.12.2
  Using cached lockfile-0.12.2-py2.py3-none-any.whl (13 kB)
Collecting alembic<2.0,>=1.2
  Downloading alembic-1.5.8-py2.py3-none-any.whl (159 kB)
     |████████████████████████████████| 159 kB 76.0 MB/s            
Collecting flask-appbuilder>=3.1.1,~=3.1
  Downloading Flask_AppBuilder-3.2.3-py3-none-any.whl (1.8 MB)
     |████████████████████████████████| 1.8 MB 52.8 MB/s            
Collecting python-dateutil<3,>=2.3
  Downloading python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)
     |████████████████████████████████| 227 kB 29.8 MB/s            
Collecting sqlalchemy<1.4,>=1.3.18
  Downloading SQLAlchemy-1.3.24.tar.gz (6.4 MB)
     |████████████████████████████████| 6.4 MB 16.0 MB/s            
  Preparing metadata (setup.py) ... done
Collecting tabulate<0.9,>=0.7.5
  Downloading tabulate-0.8.9-py3-none-any.whl (25 kB)
Collecting cached-property~=1.5
  Downloading cached_property-1.5.2-py2.py3-none-any.whl (7.6 kB)
Collecting werkzeug>=1.0.1,~=1.0
  Downloading Werkzeug-1.0.1-py2.py3-none-any.whl (298 kB)
     |████████████████████████████████| 298 kB 54.1 MB/s            
Collecting cryptography>=0.9.3
  Using cached cryptography-3.4.7-cp36-abi3-macosx_11_0_arm64.whl (1.9 MB)
Collecting flask-login<0.5,>=0.3
  Downloading Flask-Login-0.4.1.tar.gz (14 kB)
  Preparing metadata (setup.py) ... done
Collecting rich==9.2.0
  Downloading rich-9.2.0-py3-none-any.whl (164 kB)
     |████████████████████████████████| 164 kB 50.7 MB/s            
Collecting blinker
  Downloading blinker-1.4.tar.gz (111 kB)
     |████████████████████████████████| 111 kB 149.0 MB/s            
  Preparing metadata (setup.py) ... done
Collecting graphviz>=0.12
  Downloading graphviz-0.16-py2.py3-none-any.whl (19 kB)
Collecting psutil<6.0.0,>=4.2.0
  Downloading psutil-5.8.0.tar.gz (470 kB)
     |████████████████████████████████| 470 kB 24.9 MB/s            
  Preparing metadata (setup.py) ... done
Collecting requests>=2.20.0
  Using cached requests-2.25.1-py2.py3-none-any.whl (61 kB)
Collecting importlib-resources~=1.4
  Downloading importlib_resources-1.5.0-py2.py3-none-any.whl (21 kB)
Collecting apache-airflow-providers-sqlite
  Downloading apache_airflow_providers_sqlite-1.0.2-py3-none-any.whl (14 kB)
Collecting python-nvd3~=0.15.0
  Downloading python-nvd3-0.15.0.tar.gz (31 kB)
  Preparing metadata (setup.py) ... done
Collecting pendulum~=2.0
  Downloading pendulum-2.1.2.tar.gz (81 kB)
     |████████████████████████████████| 81 kB 47.9 MB/s             
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing wheel metadata (pyproject.toml) ... done
Collecting python-daemon>=2.2.4
  Downloading python_daemon-2.3.0-py2.py3-none-any.whl (35 kB)
Collecting itsdangerous>=1.1.0
  Downloading itsdangerous-1.1.0-py2.py3-none-any.whl (16 kB)
Collecting pyjwt<2
  Downloading PyJWT-1.7.1-py2.py3-none-any.whl (18 kB)
Collecting setproctitle<2,>=1.1.8
  Downloading setproctitle-1.2.2.tar.gz (23 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing wheel metadata (pyproject.toml) ... done
Collecting pygments<3.0,>=2.0.1
  Downloading Pygments-2.8.1-py3-none-any.whl (983 kB)
     |████████████████████████████████| 983 kB 122.8 MB/s            
ERROR: Cannot install apache-airflow[google]==2.0.2 because these package versions have conflicting dependencies.

The conflict is caused by:
    apache-airflow[google] 2.0.2 depends on cattrs~=1.1; python_version > "3.6"
    The user requested (constraint) cattrs==1.0.0

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies