You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
pip gets completely lost during backtracking when installing farm-haystack[dev]==1.2.0. Depending on which compiler tooling you have installed one of the following will happen:
pip install crashes due to a missing compiler tool (e.g. cmake or protoc) which are required by very old versions of backtracked dependencies
pip seems to never finish backtracking
This started about a week after releasing version 1.2.0 of farm-haystack because a subdependency named azure-core got a new version (1.23) which resulted in a overall dependency conflict of package typing-extensions.
Analyzing this we had a very bad experience. Currently in pip there is no way to see which conflict causes this problem. Only digging through pip issues and finding the branch of #10258 helped us solve this. The output of pip on this branch showed us:
The conflict is caused by:
torch 1.10.2 depends on typing-extensions
farm-haystack[crawler,dev,docstores,ocr,onnx,preprocessing,ray] 1.2.0 depends on typing-extensions; python_version < "3.8" and extra == "dev"
importlib-metadata 4.11.2 depends on typing-extensions>=3.6.4; python_version < "3.8"
pydantic 1.9.0 depends on typing-extensions>=3.7.4.3
azure-core 1.23.0 depends on typing-extensions>=4.0.1
gitpython 3.1.27 depends on typing-extensions>=3.7.4.3; python_version < "3.8"
huggingface-hub 0.4.0 depends on typing-extensions>=3.7.4.3
black[jupyter] 22.1.0 depends on typing-extensions>=3.10.0.0; python_version < "3.10"
mypy 0.931 depends on typing-extensions>=3.10
pylint 2.12.2 depends on typing-extensions>=3.10.0; python_version < "3.10"
astroid 2.9.3 depends on typing-extensions>=3.10; python_version < "3.10"
nr-util 0.8.4 depends on typing-extensions>=3.0.0
black 22.1.0 depends on typing-extensions>=3.10.0.0; python_version < "3.10"
jsonschema 4.4.0 depends on typing-extensions; python_version < "3.8"
onnx 1.11.0 depends on typing-extensions>=3.6.2.1
databind-core 1.5.1 depends on typing-extensions<4.0.0 and >=3.10.0
Further analyzing with pipdeptree showed us which direct dependencies of farm-haystack caused this conflict:
So we have two direct dependencies pydoc-markdown and azure-ai-formrecognizer which have different subdependencies databind.core and azure-core which itself need a conflicting version of typing-extensions. Version 1.23.0 of azure-core introduced the dependency of typing-extensions>=4.0.1 and thus the conflict.
Solving this would be as easy as restricting azure-core<1.23 but analyzing without the branch would have taken hours if not days.
At least there should be transparency about which conflict started backtracking like in #10258 or #10937. Additionally the backtracking approach of depth-first search seems to be suboptimal in certain situations. Given this situation in which an unpinned subdependency releases a new version which introduces a new dependency conflict might not be too uncommon. So I wonder whether breath-first search would be more suitable or freshness of package versions in general should have an impact on deciding where to backtrack next.
Collecting farm-haystack[dev]==1.2.0 Using cached farm_haystack-1.2.0-py3-none-any.whl (430 kB)Requirement already satisfied: requests in /usr/local/lib/python3.7/dist-packages (from farm-haystack[dev]==1.2.0) (2.23.0)Requirement already satisfied: nltk in /usr/local/lib/python3.7/dist-packages (from farm-haystack[dev]==1.2.0) (3.2.5)Collecting elasticsearch<=7.10,>=7.7 Using cached elasticsearch-7.10.0-py2.py3-none-any.whl (321 kB)Requirement already satisfied: scipy>=1.3.2 in /usr/local/lib/python3.7/dist-packages (from farm-haystack[dev]==1.2.0) (1.4.1)Collecting transformers==4.13.0 Using cached transformers-4.13.0-py3-none-any.whl (3.3 MB)Requirement already satisfied: tqdm in /usr/local/lib/python3.7/dist-packages (from farm-haystack[dev]==1.2.0) (4.63.0)Requirement already satisfied: dill in /usr/local/lib/python3.7/dist-packages (from farm-haystack[dev]==1.2.0) (0.3.4)Collecting tika Using cached tika-1.24.tar.gz (28 kB) Preparing metadata (setup.py) ... doneRequirement already satisfied: torch<1.11,>1.9 in /usr/local/lib/python3.7/dist-packages (from farm-haystack[dev]==1.2.0) (1.10.0+cu111)Collecting quantulum3 Using cached quantulum3-0.7.10-py3-none-any.whl (10.7 MB)Requirement already satisfied: networkx in /usr/local/lib/python3.7/dist-packages (from farm-haystack[dev]==1.2.0) (2.6.3)Collecting elastic-apm Using cached elastic_apm-6.8.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (359 kB)Requirement already satisfied: more-itertools in /usr/local/lib/python3.7/dist-packages (from farm-haystack[dev]==1.2.0) (8.12.0)Collecting langdetect Using cached langdetect-1.0.9.tar.gz (981 kB) Preparing metadata (setup.py) ... doneCollecting mlflow<=1.13.1 Using cached mlflow-1.13.1-py3-none-any.whl (14.1 MB)Collecting pydantic Using cached pydantic-1.9.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.9 MB)Requirement already satisfied: importlib-metadata in /usr/local/lib/python3.7/dist-packages (from farm-haystack[dev]==1.2.0) (4.11.2)Requirement already satisfied: scikit-learn>=1.0.0 in /usr/local/lib/python3.7/dist-packages (from farm-haystack[dev]==1.2.0) (1.0.2)Requirement already satisfied: pandas in /usr/local/lib/python3.7/dist-packages (from farm-haystack[dev]==1.2.0) (1.3.5)Collecting azure-ai-formrecognizer==3.2.0b2 Using cached azure_ai_formrecognizer-3.2.0b2-py2.py3-none-any.whl (219 kB)Collecting python-docx Using cached python-docx-0.8.11.tar.gz (5.6 MB) Preparing metadata (setup.py) ... doneCollecting sentence-transformers>=0.4.0 Using cached sentence-transformers-2.2.0.tar.gz (79 kB) Preparing metadata (setup.py) ... doneCollecting mmh3 Using cached mmh3-3.0.0-cp37-cp37m-manylinux2010_x86_64.whl (50 kB)Collecting seqeval Using cached seqeval-1.2.2.tar.gz (43 kB) Preparing metadata (setup.py) ... doneRequirement already satisfied: pytest in /usr/local/lib/python3.7/dist-packages (from farm-haystack[dev]==1.2.0) (3.6.4)Requirement already satisfied: coverage in /usr/local/lib/python3.7/dist-packages (from farm-haystack[dev]==1.2.0) (3.7.1)Collecting black[jupyter] Using cached black-22.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB)Requirement already satisfied: psutil in /usr/local/lib/python3.7/dist-packages (from farm-haystack[dev]==1.2.0) (5.4.8)Collecting responses Using cached responses-0.19.0-py3-none-any.whl (41 kB)Collecting pylint Using cached pylint-2.12.2-py3-none-any.whl (414 kB)Collecting python-multipart Using cached python-multipart-0.0.5.tar.gz (32 kB) Preparing metadata (setup.py) ... doneCollecting pydoc-markdown<5,>=4 Using cached pydoc_markdown-4.6.3-py3-none-any.whl (64 kB)Requirement already satisfied: typing-extensions in /usr/local/lib/python3.7/dist-packages (from farm-haystack[dev]==1.2.0) (3.10.0.2)Collecting mkdocs Using cached mkdocs-1.2.3-py3-none-any.whl (6.4 MB)Collecting jupytercontrib Using cached jupytercontrib-0.0.7-py2.py3-none-any.whl (8.8 kB)Collecting mypy Using cached mypy-0.941-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (14.4 MB)Collecting watchdog Using cached watchdog-2.1.6-py3-none-manylinux2014_x86_64.whl (76 kB)Collecting tox Using cached tox-3.24.5-py2.py3-none-any.whl (85 kB)Collecting azure-core<2.0.0,>=1.13.0 Using cached azure_core-1.23.0-py3-none-any.whl (179 kB)Requirement already satisfied: six>=1.11.0 in /usr/local/lib/python3.7/dist-packages (from azure-ai-formrecognizer==3.2.0b2->farm-haystack[dev]==1.2.0) (1.15.0)Collecting azure-common~=1.1 Using cached azure_common-1.1.28-py2.py3-none-any.whl (14 kB)Collecting msrest>=0.6.21 Using cached msrest-0.6.21-py2.py3-none-any.whl (85 kB)Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.7/dist-packages (from transformers==4.13.0->farm-haystack[dev]==1.2.0) (2019.12.20)Collecting pyyaml>=5.1 Using cached PyYAML-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (596 kB)Collecting tokenizers<0.11,>=0.10.1 Using cached tokenizers-0.10.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (3.3 MB)Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.7/dist-packages (from transformers==4.13.0->farm-haystack[dev]==1.2.0) (1.21.5)Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.7/dist-packages (from transformers==4.13.0->farm-haystack[dev]==1.2.0) (21.3)Collecting huggingface-hub<1.0,>=0.1.0 Using cached huggingface_hub-0.4.0-py3-none-any.whl (67 kB)Requirement already satisfied: filelock in /usr/local/lib/python3.7/dist-packages (from transformers==4.13.0->farm-haystack[dev]==1.2.0) (3.6.0)Collecting sacremoses Using cached sacremoses-0.0.47-py2.py3-none-any.whl (895 kB)Requirement already satisfied: certifi in /usr/local/lib/python3.7/dist-packages (from elasticsearch<=7.10,>=7.7->farm-haystack[dev]==1.2.0) (2021.10.8)Requirement already satisfied: urllib3<2,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from elasticsearch<=7.10,>=7.7->farm-haystack[dev]==1.2.0) (1.24.3)Requirement already satisfied: cloudpickle in /usr/local/lib/python3.7/dist-packages (from mlflow<=1.13.1->farm-haystack[dev]==1.2.0) (1.3.0)Requirement already satisfied: click>=7.0 in /usr/local/lib/python3.7/dist-packages (from mlflow<=1.13.1->farm-haystack[dev]==1.2.0) (7.1.2)Collecting querystring-parser Using cached querystring_parser-1.2.4-py2.py3-none-any.whl (7.9 kB)Requirement already satisfied: Flask in /usr/local/lib/python3.7/dist-packages (from mlflow<=1.13.1->farm-haystack[dev]==1.2.0) (1.1.4)Requirement already satisfied: protobuf>=3.6.0 in /usr/local/lib/python3.7/dist-packages (from mlflow<=1.13.1->farm-haystack[dev]==1.2.0) (3.17.3)Requirement already satisfied: python-dateutil in /usr/local/lib/python3.7/dist-packages (from mlflow<=1.13.1->farm-haystack[dev]==1.2.0) (2.8.2)Requirement already satisfied: sqlparse>=0.3.1 in /usr/local/lib/python3.7/dist-packages (from mlflow<=1.13.1->farm-haystack[dev]==1.2.0) (0.4.2)Collecting databricks-cli>=0.8.7 Using cached databricks-cli-0.16.4.tar.gz (58 kB) Preparing metadata (setup.py) ... doneRequirement already satisfied: entrypoints in /usr/local/lib/python3.7/dist-packages (from mlflow<=1.13.1->farm-haystack[dev]==1.2.0) (0.4)Collecting azure-storage-blob>=12.0.0 Using cached azure_storage_blob-12.10.0-py3-none-any.whl (346 kB)Requirement already satisfied: sqlalchemy in /usr/local/lib/python3.7/dist-packages (from mlflow<=1.13.1->farm-haystack[dev]==1.2.0) (1.4.32)Collecting docker>=4.0.0 Using cached docker-5.0.3-py2.py3-none-any.whl (146 kB)Collecting gitpython>=2.1.0 Using cached GitPython-3.1.27-py3-none-any.whl (181 kB)Collecting gunicorn Using cached gunicorn-20.1.0-py3-none-any.whl (79 kB)Collecting prometheus-flask-exporter Using cached prometheus_flask_exporter-0.19.0-py3-none-any.whl (18 kB)Collecting alembic<=1.4.1 Using cached alembic-1.4.1.tar.gz (1.1 MB) Preparing metadata (setup.py) ... doneCollecting tomli_w<2.0.0,>=1.0.0 Using cached tomli_w-1.0.0-py3-none-any.whl (6.0 kB)Collecting docspec-python<3.0.0,>=2.0.0a1 Using cached docspec_python-2.0.0-py3-none-any.whl (13 kB)Requirement already satisfied: tomli<3.0.0,>=2.0.0 in /usr/local/lib/python3.7/dist-packages (from pydoc-markdown<5,>=4->farm-haystack[dev]==1.2.0) (2.0.1)Collecting jinja2<4.0.0,>=3.0.0 Using cached Jinja2-3.0.3-py3-none-any.whl (133 kB)Collecting nr.util<1.0.0,>=0.7.5 Using cached nr.util-0.8.4-py3-none-any.whl (86 kB)Collecting databind<2.0.0,>=1.5.0 Using cached databind-1.5.1-py3-none-any.whl (1.6 kB)Collecting docspec<3.0.0,>=2.0.0a1 Using cached docspec-2.0.0-py3-none-any.whl (9.5 kB)Collecting yapf>=0.30.0 Using cached yapf-0.32.0-py2.py3-none-any.whl (190 kB)Collecting docstring-parser<0.12,>=0.11 Using cached docstring_parser-0.11.tar.gz (22 kB) Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... doneCollecting pyyaml>=5.1 Using cached PyYAML-5.4.1-cp37-cp37m-manylinux1_x86_64.whl (636 kB)Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests->farm-haystack[dev]==1.2.0) (3.0.4)Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests->farm-haystack[dev]==1.2.0) (2.10)Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.7/dist-packages (from scikit-learn>=1.0.0->farm-haystack[dev]==1.2.0) (3.1.0)Requirement already satisfied: joblib>=0.11 in /usr/local/lib/python3.7/dist-packages (from scikit-learn>=1.0.0->farm-haystack[dev]==1.2.0) (1.1.0)Requirement already satisfied: torchvision in /usr/local/lib/python3.7/dist-packages (from sentence-transformers>=0.4.0->farm-haystack[dev]==1.2.0) (0.11.1+cu111)Collecting sentencepiece Using cached sentencepiece-0.1.96-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB)Collecting pathspec>=0.9.0 Using cached pathspec-0.9.0-py2.py3-none-any.whl (31 kB)Collecting typed-ast>=1.4.2 Using cached typed_ast-1.5.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (843 kB)Collecting click>=7.0 Using cached click-8.0.4-py3-none-any.whl (97 kB)Collecting mypy-extensions>=0.4.3 Using cached mypy_extensions-0.4.3-py2.py3-none-any.whl (4.5 kB)Collecting platformdirs>=2 Using cached platformdirs-2.5.1-py3-none-any.whl (14 kB)Collecting ipython>=7.8.0 Using cached ipython-7.32.0-py3-none-any.whl (793 kB)Collecting tokenize-rt>=3.2.0 Using cached tokenize_rt-4.2.1-py2.py3-none-any.whl (6.1 kB)Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata->farm-haystack[dev]==1.2.0) (3.7.0)Requirement already satisfied: nbconvert in /usr/local/lib/python3.7/dist-packages (from jupytercontrib->farm-haystack[dev]==1.2.0) (5.6.1)Collecting ghp-import>=1.0 Using cached ghp_import-2.0.2-py3-none-any.whl (11 kB)Collecting mergedeep>=1.3.4 Using cached mergedeep-1.3.4-py3-none-any.whl (6.4 kB)Collecting pyyaml-env-tag>=0.1 Using cached pyyaml_env_tag-0.1-py3-none-any.whl (3.9 kB)Requirement already satisfied: Markdown>=3.2.1 in /usr/local/lib/python3.7/dist-packages (from mkdocs->farm-haystack[dev]==1.2.0) (3.3.6)Requirement already satisfied: pytz>=2017.3 in /usr/local/lib/python3.7/dist-packages (from pandas->farm-haystack[dev]==1.2.0) (2018.9)Collecting isort<6,>=4.2.5 Using cached isort-5.10.1-py3-none-any.whl (103 kB)Collecting toml>=0.9.2 Using cached toml-0.10.2-py2.py3-none-any.whl (16 kB)Collecting mccabe<0.7,>=0.6 Using cached mccabe-0.6.1-py2.py3-none-any.whl (8.6 kB)Collecting astroid<2.10,>=2.9.0 Using cached astroid-2.9.3-py3-none-any.whl (254 kB)Requirement already satisfied: pluggy<0.8,>=0.5 in /usr/local/lib/python3.7/dist-packages (from pytest->farm-haystack[dev]==1.2.0) (0.7.1)Requirement already satisfied: atomicwrites>=1.0 in /usr/local/lib/python3.7/dist-packages (from pytest->farm-haystack[dev]==1.2.0) (1.4.0)Requirement already satisfied: setuptools in /usr/local/lib/python3.7/dist-packages (from pytest->farm-haystack[dev]==1.2.0) (57.4.0)Requirement already satisfied: attrs>=17.4.0 in /usr/local/lib/python3.7/dist-packages (from pytest->farm-haystack[dev]==1.2.0) (21.4.0)Requirement already satisfied: py>=1.5.0 in /usr/local/lib/python3.7/dist-packages (from pytest->farm-haystack[dev]==1.2.0) (1.11.0)Requirement already satisfied: lxml>=2.3.2 in /usr/local/lib/python3.7/dist-packages (from python-docx->farm-haystack[dev]==1.2.0) (4.2.6)Collecting num2words Using cached num2words-0.5.10-py3-none-any.whl (101 kB)Requirement already satisfied: inflect in /usr/local/lib/python3.7/dist-packages (from quantulum3->farm-haystack[dev]==1.2.0) (2.1.0)Collecting urllib3<2,>=1.21.1 Using cached urllib3-1.25.11-py2.py3-none-any.whl (127 kB)Collecting tox Using cached tox-3.24.4-py2.py3-none-any.whl (85 kB) Using cached tox-3.24.3-py2.py3-none-any.whl (85 kB) Using cached tox-3.24.2-py2.py3-none-any.whl (85 kB) Using cached tox-3.24.1-py2.py3-none-any.whl (85 kB) Using cached tox-3.24.0-py2.py3-none-any.whl (85 kB) Using cached tox-3.23.1-py2.py3-none-any.whl (85 kB) Using cached tox-3.23.0-py2.py3-none-any.whl (85 kB) Using cached tox-3.22.0-py2.py3-none-any.whl (84 kB) Using cached tox-3.21.4-py2.py3-none-any.whl (84 kB) Using cached tox-3.21.3-py2.py3-none-any.whl (84 kB) Using cached tox-3.21.2-py2.py3-none-any.whl (84 kB) Using cached tox-3.21.1-py2.py3-none-any.whl (84 kB) Using cached tox-3.21.0-py2.py3-none-any.whl (84 kB) Using cached tox-3.20.1-py2.py3-none-any.whl (83 kB) Using cached tox-3.20.0-py2.py3-none-any.whl (83 kB) Using cached tox-3.19.0-py2.py3-none-any.whl (83 kB) Using cached tox-3.18.1-py2.py3-none-any.whl (82 kB) Using cached tox-3.18.0-py2.py3-none-any.whl (82 kB) Using cached tox-3.17.1-py2.py3-none-any.whl (82 kB) Using cached tox-3.17.0-py2.py3-none-any.whl (82 kB) Using cached tox-3.16.0-py2.py3-none-any.whl (82 kB) Using cached tox-3.15.2-py2.py3-none-any.whl (137 kB) Using cached tox-3.15.1-py2.py3-none-any.whl (82 kB) Using cached tox-3.15.0-py2.py3-none-any.whl (82 kB) Using cached tox-3.14.6-py2.py3-none-any.whl (81 kB) Using cached tox-3.14.5-py2.py3-none-any.whl (81 kB)Collecting virtualenv>=16.0.0 Using cached virtualenv-20.13.3-py2.py3-none-any.whl (8.7 MB)Collecting tox Using cached tox-3.14.4-py2.py3-none-any.whl (81 kB) Using cached tox-3.14.3-py2.py3-none-any.whl (80 kB) Using cached tox-3.14.2-py2.py3-none-any.whl (80 kB) Using cached tox-3.14.1-py2.py3-none-any.whl (80 kB) Using cached tox-3.14.0-py2.py3-none-any.whl (80 kB) Using cached tox-3.13.2-py2.py3-none-any.whl (80 kB) Using cached tox-3.13.1-py2.py3-none-any.whl (80 kB) Using cached tox-3.13.0-py2.py3-none-any.whl (80 kB) Using cached tox-3.12.1-py2.py3-none-any.whl (79 kB)Collecting Mako Using cached Mako-1.2.0-py3-none-any.whl (78 kB)Collecting python-editor>=0.3 Using cached python_editor-1.0.4-py3-none-any.whl (4.9 kB)Requirement already satisfied: wrapt<1.14,>=1.11 in /usr/local/lib/python3.7/dist-packages (from astroid<2.10,>=2.9.0->pylint->farm-haystack[dev]==1.2.0) (1.13.3)Collecting lazy-object-proxy>=1.4.0 Using cached lazy_object_proxy-1.7.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (57 kB)Collecting typing-extensions Using cached typing_extensions-4.1.1-py3-none-any.whl (26 kB)Collecting cryptography>=2.1.4 Using cached cryptography-36.0.1-cp36-abi3-manylinux_2_24_x86_64.whl (3.6 MB)Collecting databind.json<2.0.0,>=1.5.1 Using cached databind.json-1.5.1-py3-none-any.whl (14 kB)Collecting databind.core<2.0.0,>=1.5.1 Using cached databind.core-1.5.1-py3-none-any.whl (35 kB)Requirement already satisfied: tabulate>=0.7.7 in /usr/local/lib/python3.7/dist-packages (from databricks-cli>=0.8.7->mlflow<=1.13.1->farm-haystack[dev]==1.2.0) (0.8.9)Collecting websocket-client>=0.32.0 Using cached websocket_client-1.3.1-py3-none-any.whl (54 kB)Collecting Deprecated<2.0.0,>=1.2.12 Using cached Deprecated-1.2.13-py2.py3-none-any.whl (9.6 kB)Collecting gitdb<5,>=4.0.1 Using cached gitdb-4.0.9-py3-none-any.whl (63 kB)Collecting prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 Using cached prompt_toolkit-3.0.28-py3-none-any.whl (380 kB)Requirement already satisfied: backcall in /usr/local/lib/python3.7/dist-packages (from ipython>=7.8.0->black[jupyter]->farm-haystack[dev]==1.2.0) (0.2.0)Requirement already satisfied: matplotlib-inline in /usr/local/lib/python3.7/dist-packages (from ipython>=7.8.0->black[jupyter]->farm-haystack[dev]==1.2.0) (0.1.3)Requirement already satisfied: decorator in /usr/local/lib/python3.7/dist-packages (from ipython>=7.8.0->black[jupyter]->farm-haystack[dev]==1.2.0) (4.4.2)Requirement already satisfied: pickleshare in /usr/local/lib/python3.7/dist-packages (from ipython>=7.8.0->black[jupyter]->farm-haystack[dev]==1.2.0) (0.7.5)Requirement already satisfied: pexpect>4.3 in /usr/local/lib/python3.7/dist-packages (from ipython>=7.8.0->black[jupyter]->farm-haystack[dev]==1.2.0) (4.8.0)Requirement already satisfied: jedi>=0.16 in /usr/local/lib/python3.7/dist-packages (from ipython>=7.8.0->black[jupyter]->farm-haystack[dev]==1.2.0) (0.18.1)Requirement already satisfied: pygments in /usr/local/lib/python3.7/dist-packages (from ipython>=7.8.0->black[jupyter]->farm-haystack[dev]==1.2.0) (2.6.1)Requirement already satisfied: traitlets>=4.2 in /usr/local/lib/python3.7/dist-packages (from ipython>=7.8.0->black[jupyter]->farm-haystack[dev]==1.2.0) (5.1.1)Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.7/dist-packages (from jinja2<4.0.0,>=3.0.0->pydoc-markdown<5,>=4->farm-haystack[dev]==1.2.0) (2.0.1)Requirement already satisfied: requests-oauthlib>=0.5.0 in /usr/local/lib/python3.7/dist-packages (from msrest>=0.6.21->azure-ai-formrecognizer==3.2.0b2->farm-haystack[dev]==1.2.0) (1.3.1)Collecting isodate>=0.6.0 Using cached isodate-0.6.1-py2.py3-none-any.whl (41 kB)Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /usr/local/lib/python3.7/dist-packages (from packaging>=20.0->transformers==4.13.0->farm-haystack[dev]==1.2.0) (3.0.7)Requirement already satisfied: greenlet!=0.4.17 in /usr/local/lib/python3.7/dist-packages (from sqlalchemy->mlflow<=1.13.1->farm-haystack[dev]==1.2.0) (1.1.2)Collecting distlib<1,>=0.3.1 Using cached distlib-0.3.4-py2.py3-none-any.whl (461 kB)Collecting Flask Using cached Flask-2.0.3-py3-none-any.whl (95 kB)Collecting itsdangerous>=2.0 Using cached itsdangerous-2.1.1-py3-none-any.whl (15 kB)Collecting Werkzeug>=2.0 Using cached Werkzeug-2.0.3-py3-none-any.whl (289 kB)Requirement already satisfied: defusedxml in /usr/local/lib/python3.7/dist-packages (from nbconvert->jupytercontrib->farm-haystack[dev]==1.2.0) (0.7.1)Requirement already satisfied: nbformat>=4.4 in /usr/local/lib/python3.7/dist-packages (from nbconvert->jupytercontrib->farm-haystack[dev]==1.2.0) (5.1.3)Requirement already satisfied: bleach in /usr/local/lib/python3.7/dist-packages (from nbconvert->jupytercontrib->farm-haystack[dev]==1.2.0) (4.1.0)Requirement already satisfied: jupyter-core in /usr/local/lib/python3.7/dist-packages (from nbconvert->jupytercontrib->farm-haystack[dev]==1.2.0) (4.9.2)Requirement already satisfied: mistune<2,>=0.8.1 in /usr/local/lib/python3.7/dist-packages (from nbconvert->jupytercontrib->farm-haystack[dev]==1.2.0) (0.8.4)Requirement already satisfied: testpath in /usr/local/lib/python3.7/dist-packages (from nbconvert->jupytercontrib->farm-haystack[dev]==1.2.0) (0.6.0)Requirement already satisfied: pandocfilters>=1.4.1 in /usr/local/lib/python3.7/dist-packages (from nbconvert->jupytercontrib->farm-haystack[dev]==1.2.0) (1.5.0)Requirement already satisfied: docopt>=0.6.2 in /usr/local/lib/python3.7/dist-packages (from num2words->quantulum3->farm-haystack[dev]==1.2.0) (0.6.2)Requirement already satisfied: prometheus-client in /usr/local/lib/python3.7/dist-packages (from prometheus-flask-exporter->mlflow<=1.13.1->farm-haystack[dev]==1.2.0) (0.13.1)Requirement already satisfied: pillow!=8.3.0,>=5.3.0 in /usr/local/lib/python3.7/dist-packages (from torchvision->sentence-transformers>=0.4.0->farm-haystack[dev]==1.2.0) (7.1.2)Requirement already satisfied: cffi>=1.12 in /usr/local/lib/python3.7/dist-packages (from cryptography>=2.1.4->azure-storage-blob>=12.0.0->mlflow<=1.13.1->farm-haystack[dev]==1.2.0) (1.15.0)INFO: pip is looking at multiple versions of cryptography to determine which version is compatible with other requirements. This could take a while.Collecting cryptography>=2.1.4 Using cached cryptography-36.0.0-cp36-abi3-manylinux_2_24_x86_64.whl (3.6 MB)INFO: pip is looking at multiple versions of torchvision to determine which version is compatible with other requirements. This could take a while.Collecting torchvision Using cached torchvision-0.12.0-cp37-cp37m-manylinux1_x86_64.whl (21.0 MB)INFO: pip is looking at multiple versions of sentencepiece to determine which version is compatible with other requirements. This could take a while.Collecting sentencepiece Using cached sentencepiece-0.1.95-cp37-cp37m-manylinux2014_x86_64.whl (1.2 MB)INFO: pip is looking at multiple versions of sacremoses to determine which version is compatible with other requirements. This could take a while.Collecting sacremoses Downloading sacremoses-0.0.46-py3-none-any.whl (895 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 895.2/895.2 KB 18.1 MB/s eta 0:00:00INFO: pip is looking at multiple versions of querystring-parser to determine which version is compatible with other requirements. This could take a while.Collecting querystring-parser Downloading querystring_parser-1.2.3.tar.gz (5.3 kB) Preparing metadata (setup.py) ... doneINFO: pip is looking at multiple versions of prometheus-flask-exporter to determine which version is compatible with other requirements. This could take a while.Collecting prometheus-flask-exporter Downloading prometheus_flask_exporter-0.18.7-py3-none-any.whl (17 kB)INFO: pip is looking at multiple versions of num2words to determine which version is compatible with other requirements. This could take a while.Collecting num2words Downloading num2words-0.5.9-py3-none-any.whl (99 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 99.1/99.1 KB 9.9 MB/s eta 0:00:00INFO: pip is looking at multiple versions of nbconvert to determine which version is compatible with other requirements. This could take a while.Collecting nbconvert Using cached nbconvert-6.4.4-py3-none-any.whl (561 kB)INFO: pip is looking at multiple versions of inflect to determine which version is compatible with other requirements. This could take a while.Collecting inflect Downloading inflect-5.4.0-py3-none-any.whl (33 kB)INFO: pip is looking at multiple versions of gunicorn to determine which version is compatible with other requirements. This could take a while.Collecting gunicorn Downloading gunicorn-20.0.4-py2.py3-none-any.whl (77 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 77.9/77.9 KB 6.7 MB/s eta 0:00:00INFO: 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 entrypoints to determine which version is compatible with other requirements. This could take a while.Collecting entrypoints Downloading entrypoints-0.4-py3-none-any.whl (5.3 kB)INFO: pip is looking at multiple versions of cloudpickle to determine which version is compatible with other requirements. This could take a while.Collecting cloudpickle Downloading cloudpickle-2.0.0-py3-none-any.whl (25 kB)INFO: pip is looking at multiple versions of black 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.Collecting zipp>=0.5 Downloading zipp-3.7.0-py3-none-any.whl (5.3 kB)INFO: pip is looking at multiple versions of yapf to determine which version is compatible with other requirements. This could take a while.Collecting yapf>=0.30.0 Using cached yapf-0.31.0-py2.py3-none-any.whl (185 kB)INFO: pip is looking at multiple versions of virtualenv to determine which version is compatible with other requirements. This could take a while.Collecting virtualenv>=14.0.0 Using cached virtualenv-20.13.2-py2.py3-none-any.whl (8.7 MB)INFO: pip is looking at multiple versions of urllib3 to determine which version is compatible with other requirements. This could take a while.Collecting urllib3<2,>=1.21.1 Downloading urllib3-1.25.10-py2.py3-none-any.whl (127 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 127.6/127.6 KB 8.5 MB/s eta 0:00:00INFO: pip is looking at multiple versions of typed-ast to determine which version is compatible with other requirements. This could take a while.Collecting typed-ast>=1.4.2 Using cached typed_ast-1.5.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (843 kB)INFO: pip is looking at multiple versions of tomli-w to determine which version is compatible with other requirements. This could take a while.INFO: pip is looking at multiple versions of tomli to determine which version is compatible with other requirements. This could take a while.Collecting tomli<3.0.0,>=2.0.0 Using cached tomli-2.0.1-py3-none-any.whl (12 kB)INFO: pip is looking at multiple versions of toml to determine which version is compatible with other requirements. This could take a while.Collecting toml>=0.9.2 Using cached toml-0.10.1-py2.py3-none-any.whl (19 kB)INFO: pip is looking at multiple versions of black to determine which version is compatible with other requirements. This could take a while.INFO: pip is looking at multiple versions of tokenizers to determine which version is compatible with other requirements. This could take a while.Collecting tokenizers<0.11,>=0.10.1 Downloading tokenizers-0.10.2-cp37-cp37m-manylinux2010_x86_64.whl (3.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 42.1 MB/s eta 0:00:00INFO: pip is looking at multiple versions of tokenize-rt to determine which version is compatible with other requirements. This could take a while.Collecting tokenize-rt>=3.2.0 Using cached tokenize_rt-4.1.0-py2.py3-none-any.whl (6.1 kB)INFO: pip is looking at multiple versions of threadpoolctl to determine which version is compatible with other requirements. This could take a while.Collecting threadpoolctl>=2.0.0 Downloading threadpoolctl-3.1.0-py3-none-any.whl (14 kB)INFO: pip is looking at multiple versions of sqlparse to determine which version is compatible with other requirements. This could take a while.Collecting sqlparse>=0.3.1 Downloading sqlparse-0.4.2-py3-none-any.whl (42 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 42.3/42.3 KB 4.0 MB/s eta 0:00:00INFO: pip is looking at multiple versions of sqlalchemy to determine which version is compatible with other requirements. This could take a while.Collecting sqlalchemy Downloading SQLAlchemy-1.4.32-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 41.5 MB/s eta 0:00:00INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.INFO: pip is looking at multiple versions of six to determine which version is compatible with other requirements. This could take a while.Collecting six>=1.11.0 Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)INFO: pip is looking at multiple versions of regex to determine which version is compatible with other requirements. This could take a while.Collecting regex!=2019.12.17 Downloading regex-2022.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (749 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 749.3/749.3 KB 32.1 MB/s eta 0:00:00INFO: pip is looking at multiple versions of pyyaml-env-tag 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.Collecting pyyaml>=5.1 Downloading PyYAML-5.4-cp37-cp37m-manylinux1_x86_64.whl (636 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 636.5/636.5 KB 29.1 MB/s eta 0:00:00INFO: pip is looking at multiple versions of pytz to determine which version is compatible with other requirements. This could take a while.Collecting pytz>=2017.3 Downloading pytz-2021.3-py2.py3-none-any.whl (503 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 503.5/503.5 KB 25.4 MB/s eta 0:00:00INFO: pip is looking at multiple versions of python-dateutil to determine which version is compatible with other requirements. This could take a while.Collecting python-dateutil Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 247.7/247.7 KB 17.8 MB/s eta 0:00:00INFO: pip is looking at multiple versions of py to determine which version is compatible with other requirements. This could take a while.Collecting py>=1.5.0 Using cached py-1.11.0-py2.py3-none-any.whl (98 kB)INFO: pip is looking at multiple versions of protobuf to determine which version is compatible with other requirements. This could take a while.Collecting protobuf>=3.6.0 Downloading protobuf-3.19.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 39.8 MB/s eta 0:00:00INFO: pip is looking at multiple versions of pluggy to determine which version is compatible with other requirements. This could take a while.Collecting pluggy<0.8,>=0.5 Using cached pluggy-0.7.1-py2.py3-none-any.whl (14 kB)INFO: pip is looking at multiple versions of platformdirs to determine which version is compatible with other requirements. This could take a while.Collecting platformdirs>=2 Using cached platformdirs-2.5.0-py3-none-any.whl (14 kB)INFO: pip is looking at multiple versions of pathspec 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.Collecting packaging>=20.0 Downloading packaging-21.3-py3-none-any.whl (40 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 40.8/40.8 KB 3.6 MB/s eta 0:00:00INFO: pip is looking at multiple versions of numpy to determine which version is compatible with other requirements. This could take a while.Collecting numpy>=1.17 Downloading numpy-1.21.5-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (15.7 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 15.7/15.7 MB 41.0 MB/s eta 0:00:00INFO: pip is looking at multiple versions of nr-util to determine which version is compatible with other requirements. This could take a while.Collecting nr.util<1.0.0,>=0.7.5 Using cached nr.util-0.8.3-py3-none-any.whl (86 kB) Using cached nr.util-0.8.2-py3-none-any.whl (86 kB) Using cached nr.util-0.8.1-py3-none-any.whl (86 kB) Using cached nr.util-0.8.0-py3-none-any.whl (86 kB) Using cached nr.util-0.7.6-py3-none-any.whl (78 kB) Using cached nr.util-0.7.5-py3-none-any.whl (78 kB)INFO: pip is looking at multiple versions of mypy-extensions to determine which version is compatible with other requirements. This could take a while.INFO: pip is looking at multiple versions of msrest to determine which version is compatible with other requirements. This could take a while.INFO: pip is looking at multiple versions of mergedeep to determine which version is compatible with other requirements. This could take a while.INFO: pip is looking at multiple versions of mccabe to determine which version is compatible with other requirements. This could take a while.Collecting mccabe<0.7,>=0.6 Using cached mccabe-0.6.0-py2.py3-none-any.whl (8.5 kB)INFO: pip is looking at multiple versions of nr-util to determine which version is compatible with other requirements. This could take a while.INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.INFO: pip is looking at multiple versions of markdown to determine which version is compatible with other requirements. This could take a while.Collecting Markdown>=3.2.1 Downloading Markdown-3.3.6-py3-none-any.whl (97 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 97.8/97.8 KB 12.6 MB/s eta 0:00:00INFO: pip is looking at multiple versions of lxml to determine which version is compatible with other requirements. This could take a while.Collecting lxml>=2.3.2 Downloading lxml-4.8.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (6.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.4/6.4 MB 63.9 MB/s eta 0:00:00INFO: pip is looking at multiple versions of joblib to determine which version is compatible with other requirements. This could take a while.Collecting joblib>=0.11 Downloading joblib-1.1.0-py2.py3-none-any.whl (306 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 307.0/307.0 KB 26.7 MB/s eta 0:00:00INFO: pip is looking at multiple versions of jinja2 to determine which version is compatible with other requirements. This could take a while.Collecting jinja2<4.0.0,>=3.0.0 Using cached Jinja2-3.0.2-py3-none-any.whl (133 kB)INFO: pip is looking at multiple versions of isort to determine which version is compatible with other requirements. This could take a while.Collecting isort<6,>=4.2.5 Using cached isort-5.10.0-py3-none-any.whl (103 kB)INFO: pip is looking at multiple versions of ipython to determine which version is compatible with other requirements. This could take a while.Collecting ipython>=7.8.0 Using cached ipython-7.31.1-py3-none-any.whl (792 kB)INFO: pip is looking at multiple versions of idna to determine which version is compatible with other requirements. This could take a while.Collecting idna<3,>=2.5 Downloading idna-2.10-py2.py3-none-any.whl (58 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 58.8/58.8 KB 6.6 MB/s eta 0:00:00INFO: pip is looking at multiple versions of huggingface-hub to determine which version is compatible with other requirements. This could take a while.Collecting huggingface-hub<1.0,>=0.1.0 Downloading huggingface_hub-0.2.1-py3-none-any.whl (61 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.9/61.9 KB 4.8 MB/s eta 0:00:00 Downloading huggingface_hub-0.2.0-py3-none-any.whl (61 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.9/61.9 KB 7.2 MB/s eta 0:00:00 Downloading huggingface_hub-0.1.2-py3-none-any.whl (59 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 59.6/59.6 KB 5.6 MB/s eta 0:00:00 Downloading huggingface_hub-0.1.1-py3-none-any.whl (59 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 59.6/59.6 KB 6.3 MB/s eta 0:00:00 Downloading huggingface_hub-0.1.0-py3-none-any.whl (59 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 59.6/59.6 KB 5.8 MB/s eta 0:00:00INFO: pip is looking at multiple versions of gitpython to determine which version is compatible with other requirements. This could take a while.Collecting gitpython>=2.1.0 Downloading GitPython-3.1.26-py3-none-any.whl (180 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 180.9/180.9 KB 18.6 MB/s eta 0:00:00INFO: pip is looking at multiple versions of huggingface-hub to determine which version is compatible with other requirements. This could take a while. Downloading GitPython-3.1.25-py3-none-any.whl (180 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 180.9/180.9 KB 19.6 MB/s eta 0:00:00INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C. Downloading GitPython-3.1.24-py3-none-any.whl (180 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 180.1/180.1 KB 18.8 MB/s eta 0:00:00 Downloading GitPython-3.1.18-py3-none-any.whl (170 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 170.1/170.1 KB 14.9 MB/s eta 0:00:00 Downloading GitPython-3.1.14-py3-none-any.whl (159 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 159.8/159.8 KB 1.1 MB/s eta 0:00:00 Downloading GitPython-3.1.13-py3-none-any.whl (159 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 159.6/159.6 KB 15.9 MB/s eta 0:00:00INFO: pip is looking at multiple versions of ghp-import to determine which version is compatible with other requirements. This could take a while.Collecting ghp-import>=1.0 Using cached ghp_import-2.0.1-py3-none-any.whl (11 kB)INFO: pip is looking at multiple versions of filelock to determine which version is compatible with other requirements. This could take a while.Collecting filelock Downloading filelock-3.6.0-py3-none-any.whl (10.0 kB)INFO: pip is looking at multiple versions of docstring-parser to determine which version is compatible with other requirements. This could take a while.INFO: pip is looking at multiple versions of docspec-python to determine which version is compatible with other requirements. This could take a while.Collecting docspec-python<3.0.0,>=2.0.0a1 Using cached docspec_python-2.0.0a1-py3-none-any.whl (13 kB)INFO: pip is looking at multiple versions of docspec to determine which version is compatible with other requirements. This could take a while.Collecting docspec<3.0.0,>=2.0.0a1 Using cached docspec-2.0.0a1-py3-none-any.whl (9.6 kB)INFO: pip is looking at multiple versions of docker to determine which version is compatible with other requirements. This could take a while.Collecting docker>=4.0.0 Downloading docker-5.0.2-py2.py3-none-any.whl (145 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 146.0/146.0 KB 16.3 MB/s eta 0:00:00INFO: pip is looking at multiple versions of databricks-cli to determine which version is compatible with other requirements. This could take a while.Collecting databricks-cli>=0.8.7 Downloading databricks-cli-0.16.3.tar.gz (58 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 58.2/58.2 KB 6.4 MB/s eta 0:00:00 Preparing metadata (setup.py) ... doneINFO: pip is looking at multiple versions of databind to determine which version is compatible with other requirements. This could take a while.Collecting databind<2.0.0,>=1.5.0 Using cached databind-1.5.0-py3-none-any.whl (1.6 kB)Collecting databind.core<2.0.0,>=1.5.0 Using cached databind.core-1.5.0-py3-none-any.whl (35 kB)Collecting nr.stream<0.2.0,>=0.1.1 Downloading nr.stream-0.1.2-py3-none-any.whl (6.3 kB)Collecting nr.parsing.date<2.0.0,>=1.0.1 Downloading nr.parsing.date-1.0.3-py3-none-any.whl (12 kB)INFO: pip is looking at multiple versions of databind to determine which version is compatible with other requirements. This could take a while.INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.INFO: pip is looking at multiple versions of click to determine which version is compatible with other requirements. This could take a while.Collecting click>=7.0 Downloading click-8.0.3-py3-none-any.whl (97 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 97.5/97.5 KB 10.5 MB/s eta 0:00:00 Downloading click-8.0.2-py3-none-any.whl (97 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 97.6/97.6 KB 10.9 MB/s eta 0:00:00 Downloading click-8.0.1-py3-none-any.whl (97 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 97.4/97.4 KB 9.0 MB/s eta 0:00:00 Downloading click-8.0.0-py3-none-any.whl (96 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 96.9/96.9 KB 10.8 MB/s eta 0:00:00INFO: pip is looking at multiple versions of click to determine which version is compatible with other requirements. This could take a while.INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.INFO: pip is looking at multiple versions of chardet to determine which version is compatible with other requirements. This could take a while.Collecting chardet<4,>=3.0.2 Downloading chardet-3.0.4-py2.py3-none-any.whl (133 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.4/133.4 KB 14.5 MB/s eta 0:00:00 Downloading chardet-3.0.3-py2.py3-none-any.whl (133 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.4/133.4 KB 14.0 MB/s eta 0:00:00 Downloading chardet-3.0.2-py2.py3-none-any.whl (133 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.3/133.3 KB 14.7 MB/s eta 0:00:00INFO: pip is looking at multiple versions of chardet to determine which version is compatible with other requirements. This could take a while.INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.INFO: pip is looking at multiple versions of certifi to determine which version is compatible with other requirements. This could take a while.Collecting certifi Downloading certifi-2021.10.8-py2.py3-none-any.whl (149 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 149.2/149.2 KB 15.9 MB/s eta 0:00:00 Downloading certifi-2021.5.30-py2.py3-none-any.whl (145 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 145.5/145.5 KB 16.0 MB/s eta 0:00:00 Downloading certifi-2020.12.5-py2.py3-none-any.whl (147 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 147.5/147.5 KB 15.6 MB/s eta 0:00:00 Downloading certifi-2020.11.8-py2.py3-none-any.whl (155 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 155.4/155.4 KB 13.5 MB/s eta 0:00:00 Downloading certifi-2020.6.20-py2.py3-none-any.whl (156 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 156.6/156.6 KB 16.6 MB/s eta 0:00:00 Downloading certifi-2020.4.5.2-py2.py3-none-any.whl (157 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 157.7/157.7 KB 16.8 MB/s eta 0:00:00 Downloading certifi-2020.4.5.1-py2.py3-none-any.whl (157 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 157.0/157.0 KB 17.5 MB/s eta 0:00:00INFO: pip is looking at multiple versions of certifi to determine which version is compatible with other requirements. This could take a while. Downloading certifi-2020.4.5-py2.py3-none-any.whl (156 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 157.0/157.0 KB 14.4 MB/s eta 0:00:00 Downloading certifi-2019.11.28-py2.py3-none-any.whl (156 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 156.0/156.0 KB 16.5 MB/s eta 0:00:00 Downloading certifi-2019.9.11-py2.py3-none-any.whl (154 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 154.4/154.4 KB 15.2 MB/s eta 0:00:00 Downloading certifi-2019.6.16-py2.py3-none-any.whl (157 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 157.1/157.1 KB 15.2 MB/s eta 0:00:00 Downloading certifi-2019.3.9-py2.py3-none-any.whl (158 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 158.6/158.6 KB 15.6 MB/s eta 0:00:00INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C. Downloading certifi-2018.11.29-py2.py3-none-any.whl (154 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 154.2/154.2 KB 15.2 MB/s eta 0:00:00 Downloading certifi-2018.10.15-py2.py3-none-any.whl (146 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 146.3/146.3 KB 16.2 MB/s eta 0:00:00 Downloading certifi-2018.8.24-py2.py3-none-any.whl (147 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 147.3/147.3 KB 12.5 MB/s eta 0:00:00 Downloading certifi-2018.8.13-py2.py3-none-any.whl (146 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 146.5/146.5 KB 17.6 MB/s eta 0:00:00 Downloading certifi-2018.4.16-py2.py3-none-any.whl (150 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 150.4/150.4 KB 16.4 MB/s eta 0:00:00 Downloading certifi-2018.1.18-py2.py3-none-any.whl (151 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 151.6/151.6 KB 14.1 MB/s eta 0:00:00 Downloading certifi-2017.11.5-py2.py3-none-any.whl (330 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 330.6/330.6 KB 22.5 MB/s eta 0:00:00 Downloading certifi-2017.7.27.1-py2.py3-none-any.whl (349 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 349.6/349.6 KB 24.5 MB/s eta 0:00:00 Downloading certifi-2017.7.27-py2.py3-none-any.whl (349 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 349.5/349.5 KB 25.4 MB/s eta 0:00:00 Downloading certifi-2017.4.17-py2.py3-none-any.whl (375 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 375.9/375.9 KB 25.8 MB/s eta 0:00:00INFO: pip is looking at multiple versions of azure-storage-blob to determine which version is compatible with other requirements. This could take a while.Collecting azure-storage-blob>=12.0.0 Downloading azure_storage_blob-12.9.0-py2.py3-none-any.whl (356 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 356.5/356.5 KB 10.7 MB/s eta 0:00:00 Downloading azure_storage_blob-12.8.1-py2.py3-none-any.whl (345 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 345.8/345.8 KB 22.9 MB/s eta 0:00:00 Downloading azure_storage_blob-12.8.0-py2.py3-none-any.whl (341 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 341.8/341.8 KB 20.1 MB/s eta 0:00:00 Downloading azure_storage_blob-12.7.1-py2.py3-none-any.whl (339 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 339.4/339.4 KB 19.2 MB/s eta 0:00:00 Downloading azure_storage_blob-12.7.0-py2.py3-none-any.whl (339 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 339.4/339.4 KB 20.7 MB/s eta 0:00:00 Downloading azure_storage_blob-12.6.0-py2.py3-none-any.whl (328 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 328.9/328.9 KB 19.7 MB/s eta 0:00:00 Downloading azure_storage_blob-12.5.0-py2.py3-none-any.whl (326 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 326.9/326.9 KB 22.4 MB/s eta 0:00:00truncated here see colab notebook
I appreciate that complicated dependency graph problems are take a non-neglibile amount of work to detangle and not presenting information about why pip is backtracking can make it dififcult to understand. That said, the specific request for more information is already being tracked in #9254. There have been discussions about "freshness" and "breadth first" search reordering, on this issue tracker -- which can be summarised as, they might seem to be an improvement, but (a) it'd likely end up being more difficult to reason about + control for an end user and (b) the information is not as useful for heuristics as it might seem.
Description
pip gets completely lost during backtracking when installing
farm-haystack[dev]==1.2.0
. Depending on which compiler tooling you have installed one of the following will happen:This started about a week after releasing version 1.2.0 of
farm-haystack
because a subdependency namedazure-core
got a new version (1.23) which resulted in a overall dependency conflict of packagetyping-extensions
.Analyzing this we had a very bad experience. Currently in pip there is no way to see which conflict causes this problem. Only digging through pip issues and finding the branch of #10258 helped us solve this. The output of pip on this branch showed us:
Further analyzing with pipdeptree showed us which direct dependencies of farm-haystack caused this conflict:
So we have two direct dependencies
pydoc-markdown
andazure-ai-formrecognizer
which have different subdependenciesdatabind.core
andazure-core
which itself need a conflicting version oftyping-extensions
.Version 1.23.0 of azure-core introduced the dependency of
typing-extensions>=4.0.1
and thus the conflict.Solving this would be as easy as restricting
azure-core<1.23
but analyzing without the branch would have taken hours if not days.See respecting haystack issue.
Expected behavior
At least there should be transparency about which conflict started backtracking like in #10258 or #10937. Additionally the backtracking approach of depth-first search seems to be suboptimal in certain situations. Given this situation in which an unpinned subdependency releases a new version which introduces a new dependency conflict might not be too uncommon. So I wonder whether breath-first search would be more suitable or freshness of package versions in general should have an impact on deciding where to backtrack next.
pip version
22.0.4
Python version
">=3.7"
OS
ubuntu, windows, (any?)
How to Reproduce
Try https://colab.research.google.com/drive/1UtUDxBRZcaGLMFs7Nh23JRXl_f_50VwW?usp=sharing or
Output
Checkout https://colab.research.google.com/drive/1UtUDxBRZcaGLMFs7Nh23JRXl_f_50VwW?usp=sharing for full output (it still seems to be backtracking) or
Code of Conduct
The text was updated successfully, but these errors were encountered: