Skip to content

Installation fails on windows 64-bit with 'ERROR: Could not build wheels for annoy, which is required to install pyproject.toml-based projects' error #86

@archanadixit

Description

@archanadixit

Installation of nemoguardrails fails on windows 10 64-bit with 'ERROR: Could not build wheels for annoy, which is required to install pyproject.toml-based projects'. Here are more details about the env for reproducibility.

Python Env - Anaconda Distribution with Python 3.11.3
OS - Windows 10 Enterprise 64-bit
Full Error -

"""
pip install nemoguardrails
Collecting nemoguardrails
Using cached nemoguardrails-0.3.0-py3-none-any.whl (13.8 MB)
Collecting pydantic~=1.10.6 (from nemoguardrails)
Downloading pydantic-1.10.12-cp311-cp311-win_amd64.whl (2.1 MB)
---------------------------------------- 2.1/2.1 MB 12.2 MB/s eta 0:00:00
Collecting aiohttp==3.8.4 (from nemoguardrails)
Downloading aiohttp-3.8.4-cp311-cp311-win_amd64.whl (317 kB)
---------------------------------------- 317.2/317.2 kB 20.5 MB/s eta 0:00:00
Collecting langchain==0.0.167 (from nemoguardrails)
Using cached langchain-0.0.167-py3-none-any.whl (809 kB)
Collecting requests>=2.31.0 (from nemoguardrails)
Using cached requests-2.31.0-py3-none-any.whl (62 kB)
Collecting typer==0.7.0 (from nemoguardrails)
Using cached typer-0.7.0-py3-none-any.whl (38 kB)
Requirement already satisfied: PyYAML~=6.0 in c:\users\archanadixit\anaconda3\lib\site-packages (from nemoguardrails) (6.0)
Collecting setuptools~=65.5.1 (from nemoguardrails)
Using cached setuptools-65.5.1-py3-none-any.whl (1.2 MB)
Collecting annoy==1.17.1 (from nemoguardrails)
Using cached annoy-1.17.1.tar.gz (647 kB)
Preparing metadata (setup.py) ... done
Collecting sentence-transformers==2.2.2 (from nemoguardrails)
Using cached sentence-transformers-2.2.2.tar.gz (85 kB)
Preparing metadata (setup.py) ... done
Collecting fastapi==0.96.0 (from nemoguardrails)
Using cached fastapi-0.96.0-py3-none-any.whl (57 kB)
Collecting starlette==0.27.0 (from nemoguardrails)
Using cached starlette-0.27.0-py3-none-any.whl (66 kB)
Collecting uvicorn==0.22.0 (from nemoguardrails)
Using cached uvicorn-0.22.0-py3-none-any.whl (58 kB)
Collecting httpx==0.23.3 (from nemoguardrails)
Using cached httpx-0.23.3-py3-none-any.whl (71 kB)
Collecting simpleeval==0.9.13 (from nemoguardrails)
Using cached simpleeval-0.9.13-py2.py3-none-any.whl (15 kB)
Collecting typing-extensions==4.5.0 (from nemoguardrails)
Using cached typing_extensions-4.5.0-py3-none-any.whl (27 kB)
Requirement already satisfied: Jinja2==3.1.2 in c:\users\archanadixit\anaconda3\lib\site-packages (from nemoguardrails) (3.1.2)
Requirement already satisfied: attrs>=17.3.0 in c:\users\archanadixit\anaconda3\lib\site-packages (from aiohttp==3.8.4->nemoguardrails) (22.1.0)
Requirement already satisfied: charset-normalizer<4.0,>=2.0 in c:\users\archanadixit\anaconda3\lib\site-packages (from aiohttp==3.8.4->nemoguardrails) (2.0.4)
Requirement already satisfied: multidict<7.0,>=4.5 in c:\users\archanadixit\anaconda3\lib\site-packages (from aiohttp==3.8.4->nemoguardrails) (6.0.2)
Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in c:\users\archanadixit\anaconda3\lib\site-packages (from aiohttp==3.8.4->nemoguardrails) (4.0.2)
Requirement already satisfied: yarl<2.0,>=1.0 in c:\users\archanadixit\anaconda3\lib\site-packages (from aiohttp==3.8.4->nemoguardrails) (1.8.1)
Requirement already satisfied: frozenlist>=1.1.1 in c:\users\archanadixit\anaconda3\lib\site-packages (from aiohttp==3.8.4->nemoguardrails) (1.3.3)
Requirement already satisfied: aiosignal>=1.1.2 in c:\users\archanadixit\anaconda3\lib\site-packages (from aiohttp==3.8.4->nemoguardrails) (1.2.0)
Requirement already satisfied: certifi in c:\users\archanadixit\anaconda3\lib\site-packages (from httpx==0.23.3->nemoguardrails) (2023.5.7)
Collecting httpcore<0.17.0,>=0.15.0 (from httpx==0.23.3->nemoguardrails)
Using cached httpcore-0.16.3-py3-none-any.whl (69 kB)
Collecting rfc3986[idna2008]<2,>=1.3 (from httpx==0.23.3->nemoguardrails)
Using cached rfc3986-1.5.0-py2.py3-none-any.whl (31 kB)
Requirement already satisfied: sniffio in c:\users\archanadixit\anaconda3\lib\site-packages (from httpx==0.23.3->nemoguardrails) (1.2.0)
Requirement already satisfied: MarkupSafe>=2.0 in c:\users\archanadixit\anaconda3\lib\site-packages (from Jinja2==3.1.2->nemoguardrails) (2.1.1)
Requirement already satisfied: SQLAlchemy<3,>=1.4 in c:\users\archanadixit\anaconda3\lib\site-packages (from langchain==0.0.167->nemoguardrails) (1.4.39)
Collecting dataclasses-json<0.6.0,>=0.5.7 (from langchain==0.0.167->nemoguardrails)
Using cached dataclasses_json-0.5.13-py3-none-any.whl (26 kB)
Requirement already satisfied: numexpr<3.0.0,>=2.8.4 in c:\users\archanadixit\anaconda3\lib\site-packages (from langchain==0.0.167->nemoguardrails) (2.8.4)
Requirement already satisfied: numpy<2,>=1 in c:\users\archanadixit\anaconda3\lib\site-packages (from langchain==0.0.167->nemoguardrails) (1.24.3)
Collecting openapi-schema-pydantic<2.0,>=1.2 (from langchain==0.0.167->nemoguardrails)
Using cached openapi_schema_pydantic-1.2.4-py3-none-any.whl (90 kB)
Requirement already satisfied: tenacity<9.0.0,>=8.1.0 in c:\users\archanadixit\anaconda3\lib\site-packages (from langchain==0.0.167->nemoguardrails) (8.2.2)
Requirement already satisfied: tqdm>=4.48.0 in c:\users\archanadixit\anaconda3\lib\site-packages (from langchain==0.0.167->nemoguardrails) (4.65.0)
Collecting transformers<5.0.0,>=4.6.0 (from sentence-transformers==2.2.2->nemoguardrails)
Downloading transformers-4.31.0-py3-none-any.whl (7.4 MB)
---------------------------------------- 7.4/7.4 MB 14.8 MB/s eta 0:00:00
Collecting torch>=1.6.0 (from sentence-transformers==2.2.2->nemoguardrails)
Downloading torch-2.0.1-cp311-cp311-win_amd64.whl (172.3 MB)
---------------------------------------- 172.3/172.3 MB 6.5 MB/s eta 0:00:00
Collecting torchvision (from sentence-transformers==2.2.2->nemoguardrails)
Downloading torchvision-0.15.2-cp311-cp311-win_amd64.whl (1.2 MB)
---------------------------------------- 1.2/1.2 MB 4.2 MB/s eta 0:00:00
Requirement already satisfied: scikit-learn in c:\users\archanadixit\anaconda3\lib\site-packages (from sentence-transformers==2.2.2->nemoguardrails) (1.2.2)
Requirement already satisfied: scipy in c:\users\archanadixit\anaconda3\lib\site-packages (from sentence-transformers==2.2.2->nemoguardrails) (1.10.1)
Requirement already satisfied: nltk in c:\users\archanadixit\anaconda3\lib\site-packages (from sentence-transformers==2.2.2->nemoguardrails) (3.7)
Collecting sentencepiece (from sentence-transformers==2.2.2->nemoguardrails)
Downloading sentencepiece-0.1.99-cp311-cp311-win_amd64.whl (977 kB)
---------------------------------------- 977.5/977.5 kB 7.7 MB/s eta 0:00:00
Collecting huggingface-hub>=0.4.0 (from sentence-transformers==2.2.2->nemoguardrails)
Using cached huggingface_hub-0.16.4-py3-none-any.whl (268 kB)
Requirement already satisfied: anyio<5,>=3.4.0 in c:\users\archanadixit\anaconda3\lib\site-packages (from starlette==0.27.0->nemoguardrails) (3.5.0)
Requirement already satisfied: click<9.0.0,>=7.1.1 in c:\users\archanadixit\anaconda3\lib\site-packages (from typer==0.7.0->nemoguardrails) (8.0.4)
Collecting h11>=0.8 (from uvicorn==0.22.0->nemoguardrails)
Using cached h11-0.14.0-py3-none-any.whl (58 kB)
Requirement already satisfied: idna<4,>=2.5 in c:\users\archanadixit\anaconda3\lib\site-packages (from requests>=2.31.0->nemoguardrails) (3.4)
Requirement already satisfied: urllib3<3,>=1.21.1 in c:\users\archanadixit\anaconda3\lib\site-packages (from requests>=2.31.0->nemoguardrails) (1.26.16)
Requirement already satisfied: colorama in c:\users\archanadixit\anaconda3\lib\site-packages (from click<9.0.0,>=7.1.1->typer==0.7.0->nemoguardrails) (0.4.6)
Collecting marshmallow<4.0.0,>=3.18.0 (from dataclasses-json<0.6.0,>=0.5.7->langchain==0.0.167->nemoguardrails)
Using cached marshmallow-3.20.1-py3-none-any.whl (49 kB)
Collecting typing-inspect<1,>=0.4.0 (from dataclasses-json<0.6.0,>=0.5.7->langchain==0.0.167->nemoguardrails)
Using cached typing_inspect-0.9.0-py3-none-any.whl (8.8 kB)
Requirement already satisfied: filelock in c:\users\archanadixit\anaconda3\lib\site-packages (from huggingface-hub>=0.4.0->sentence-transformers==2.2.2->nemoguardrails) (3.9.0)
Requirement already satisfied: fsspec in c:\users\archanadixit\anaconda3\lib\site-packages (from huggingface-hub>=0.4.0->sentence-transformers==2.2.2->nemoguardrails) (2023.3.0)
Requirement already satisfied: packaging>=20.9 in c:\users\archanadixit\anaconda3\lib\site-packages (from huggingface-hub>=0.4.0->sentence-transformers==2.2.2->nemoguardrails) (23.0)
Requirement already satisfied: greenlet!=0.4.17 in c:\users\archanadixit\anaconda3\lib\site-packages (from SQLAlchemy<3,>=1.4->langchain==0.0.167->nemoguardrails) (2.0.1)
Requirement already satisfied: sympy in c:\users\archanadixit\anaconda3\lib\site-packages (from torch>=1.6.0->sentence-transformers==2.2.2->nemoguardrails) (1.11.1)
Requirement already satisfied: networkx in c:\users\archanadixit\anaconda3\lib\site-packages (from torch>=1.6.0->sentence-transformers==2.2.2->nemoguardrails) (2.8.4)
Requirement already satisfied: regex!=2019.12.17 in c:\users\archanadixit\anaconda3\lib\site-packages (from transformers<5.0.0,>=4.6.0->sentence-transformers==2.2.2->nemoguardrails) (2022.7.9)
Collecting tokenizers!=0.11.3,<0.14,>=0.11.1 (from transformers<5.0.0,>=4.6.0->sentence-transformers==2.2.2->nemoguardrails)
Downloading tokenizers-0.13.3-cp311-cp311-win_amd64.whl (3.5 MB)
---------------------------------------- 3.5/3.5 MB 7.6 MB/s eta 0:00:00
Collecting safetensors>=0.3.1 (from transformers<5.0.0,>=4.6.0->sentence-transformers==2.2.2->nemoguardrails)
Downloading safetensors-0.3.1-cp311-cp311-win_amd64.whl (263 kB)
---------------------------------------- 263.7/263.7 kB 15.8 MB/s eta 0:00:00
Requirement already satisfied: joblib in c:\users\archanadixit\anaconda3\lib\site-packages (from nltk->sentence-transformers==2.2.2->nemoguardrails) (1.2.0)
Requirement already satisfied: threadpoolctl>=2.0.0 in c:\users\archanadixit\anaconda3\lib\site-packages (from scikit-learn->sentence-transformers==2.2.2->nemoguardrails) (2.2.0)
Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in c:\users\archanadixit\anaconda3\lib\site-packages (from torchvision->sentence-transformers==2.2.2->nemoguardrails) (9.4.0)
Requirement already satisfied: mypy-extensions>=0.3.0 in c:\users\archanadixit\anaconda3\lib\site-packages (from typing-inspect<1,>=0.4.0->dataclasses-json<0.6.0,>=0.5.7->langchain==0.0.167->nemoguardrails) (0.4.3)
Requirement already satisfied: mpmath>=0.19 in c:\users\archanadixit\anaconda3\lib\site-packages (from sympy->torch>=1.6.0->sentence-transformers==2.2.2->nemoguardrails) (1.2.1)
Building wheels for collected packages: annoy, sentence-transformers
Building wheel for annoy (setup.py) ... error
error: subprocess-exited-with-error

× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [22 lines of output]
C:\Users\ArchanaDixit\anaconda3\Lib\site-packages\setuptools_init_.py:84: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
!!

          ********************************************************************************
          Requirements should be satisfied by a PEP 517 installer.
          If you are using pip, you can try `pip install --use-pep517`.
          ********************************************************************************

  !!
    dist.fetch_build_eggs(dist.setup_requires)
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-cpython-311
  creating build\lib.win-amd64-cpython-311\annoy
  copying annoy\__init__.py -> build\lib.win-amd64-cpython-311\annoy
  copying annoy\__init__.pyi -> build\lib.win-amd64-cpython-311\annoy
  copying annoy\py.typed -> build\lib.win-amd64-cpython-311\annoy
  running build_ext
  building 'annoy.annoylib' extension
  error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for annoy
Running setup.py clean for annoy
Building wheel for sentence-transformers (setup.py) ... done
Created wheel for sentence-transformers: filename=sentence_transformers-2.2.2-py3-none-any.whl size=125960 sha256=2edcca3561e70321af43ae689d0e6a66608d6657bfba4b64130a109a0a80f48d
Stored in directory: c:\users\archanadixit\appdata\local\pip\cache\wheels\ff\27\bf\ffba8b318b02d7f691a57084ee154e26ed24d012b0c7805881
Successfully built sentence-transformers
Failed to build annoy
ERROR: Could not build wheels for annoy, which is required to install pyproject.toml-based projects
"""

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions