chroma: [Install issue]: Could not build wheels

What happened?

Wile trying to use pip install (and also when cloning from git repository link) I’m getting an error which mentions not being able to build wheels for hnswlib … and much more. When I try to pip install hnswlib first, it gets a similar error - both pointing to some issue with C++. I’m able to pip install other packets such as openai and pybrot.

I’ve uninstalled and reinstalled all of my VisualStudio and Python software, restarted the PC several times, read numerous posts on Stack, even asked ChatGPT and followed all of the dozens of steps there. I’m not sure what I have royally messed up. I am new to this but I was diligent in trying to resolve the issue before posting here. Help is greatly appreciated.

Versions

Python 3.11.4, Windows 11, as much info as I can find on my C++ stuff is attached. VS installs

Relevant log output

C:\Windows\System32>pip install chromadb
Collecting chromadb
  Using cached chromadb-0.3.27-py3-none-any.whl (396 kB)
Collecting pandas>=1.3 (from chromadb)
  Using cached pandas-2.0.3-cp311-cp311-win_amd64.whl (10.6 MB)
Requirement already satisfied: requests>=2.28 in c:\users\user\appdata\local\programs\python\python311\lib\site-packages (from chromadb) (2.31.0)
Collecting pydantic==1.9 (from chromadb)
  Using cached pydantic-1.9.0-py3-none-any.whl (140 kB)
Collecting hnswlib>=0.7 (from chromadb)
  Using cached hnswlib-0.7.0.tar.gz (33 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting clickhouse-connect>=0.5.7 (from chromadb)
  Using cached clickhouse_connect-0.6.6-cp311-cp311-win_amd64.whl (228 kB)
Collecting duckdb>=0.7.1 (from chromadb)
  Using cached duckdb-0.8.1-cp311-cp311-win_amd64.whl (9.8 MB)
Collecting fastapi==0.85.1 (from chromadb)
  Using cached fastapi-0.85.1-py3-none-any.whl (55 kB)
Collecting uvicorn[standard]>=0.18.3 (from chromadb)
  Using cached uvicorn-0.22.0-py3-none-any.whl (58 kB)
Requirement already satisfied: numpy>=1.21.6 in c:\users\user\appdata\local\programs\python\python311\lib\site-packages (from chromadb) (1.25.1)
Collecting posthog>=2.4.0 (from chromadb)
  Using cached posthog-3.0.1-py2.py3-none-any.whl (37 kB)
Requirement already satisfied: typing-extensions>=4.5.0 in c:\users\user\appdata\local\programs\python\python311\lib\site-packages (from chromadb) (4.7.1)
Collecting pulsar-client>=3.1.0 (from chromadb)
  Using cached pulsar_client-3.2.0-cp311-cp311-win_amd64.whl (3.4 MB)
Collecting onnxruntime>=1.14.1 (from chromadb)
  Using cached onnxruntime-1.15.1-cp311-cp311-win_amd64.whl (6.7 MB)
Collecting tokenizers>=0.13.2 (from chromadb)
  Using cached tokenizers-0.13.3-cp311-cp311-win_amd64.whl (3.5 MB)
Requirement already satisfied: tqdm>=4.65.0 in c:\users\user\appdata\local\programs\python\python311\lib\site-packages (from chromadb) (4.65.0)
Collecting overrides>=7.3.1 (from chromadb)
  Using cached overrides-7.3.1-py3-none-any.whl (17 kB)
Collecting starlette==0.20.4 (from fastapi==0.85.1->chromadb)
  Using cached starlette-0.20.4-py3-none-any.whl (63 kB)
Collecting anyio<5,>=3.4.0 (from starlette==0.20.4->fastapi==0.85.1->chromadb)
  Using cached anyio-3.7.1-py3-none-any.whl (80 kB)
Requirement already satisfied: certifi in c:\users\user\appdata\local\programs\python\python311\lib\site-packages (from clickhouse-connect>=0.5.7->chromadb) (2023.5.7)
Collecting importlib-metadata (from clickhouse-connect>=0.5.7->chromadb)
  Using cached importlib_metadata-6.8.0-py3-none-any.whl (22 kB)
Requirement already satisfied: urllib3>=1.26 in c:\users\user\appdata\local\programs\python\python311\lib\site-packages (from clickhouse-connect>=0.5.7->chromadb) (2.0.3)
Collecting pytz (from clickhouse-connect>=0.5.7->chromadb)
  Using cached pytz-2023.3-py2.py3-none-any.whl (502 kB)
Collecting zstandard (from clickhouse-connect>=0.5.7->chromadb)
  Using cached zstandard-0.21.0-cp311-cp311-win_amd64.whl (511 kB)
Collecting lz4 (from clickhouse-connect>=0.5.7->chromadb)
  Using cached lz4-4.3.2-cp311-cp311-win_amd64.whl (99 kB)
Collecting coloredlogs (from onnxruntime>=1.14.1->chromadb)
  Using cached coloredlogs-15.0.1-py2.py3-none-any.whl (46 kB)
Collecting flatbuffers (from onnxruntime>=1.14.1->chromadb)
  Using cached flatbuffers-23.5.26-py2.py3-none-any.whl (26 kB)
Requirement already satisfied: packaging in c:\users\user\appdata\local\programs\python\python311\lib\site-packages (from onnxruntime>=1.14.1->chromadb) (23.1)
Collecting protobuf (from onnxruntime>=1.14.1->chromadb)
  Using cached protobuf-4.23.4-cp310-abi3-win_amd64.whl (422 kB)
Collecting sympy (from onnxruntime>=1.14.1->chromadb)
  Using cached sympy-1.12-py3-none-any.whl (5.7 MB)
Requirement already satisfied: python-dateutil>=2.8.2 in c:\users\user\appdata\local\programs\python\python311\lib\site-packages (from pandas>=1.3->chromadb) (2.8.2)
Collecting tzdata>=2022.1 (from pandas>=1.3->chromadb)
  Using cached tzdata-2023.3-py2.py3-none-any.whl (341 kB)
Requirement already satisfied: six>=1.5 in c:\users\user\appdata\local\programs\python\python311\lib\site-packages (from posthog>=2.4.0->chromadb) (1.16.0)
Collecting monotonic>=1.5 (from posthog>=2.4.0->chromadb)
  Using cached monotonic-1.6-py2.py3-none-any.whl (8.2 kB)
Collecting backoff>=1.10.0 (from posthog>=2.4.0->chromadb)
  Using cached backoff-2.2.1-py3-none-any.whl (15 kB)
Requirement already satisfied: charset-normalizer<4,>=2 in c:\users\user\appdata\local\programs\python\python311\lib\site-packages (from requests>=2.28->chromadb) (3.2.0)
Requirement already satisfied: idna<4,>=2.5 in c:\users\user\appdata\local\programs\python\python311\lib\site-packages (from requests>=2.28->chromadb) (3.4)
Requirement already satisfied: colorama in c:\users\user\appdata\local\programs\python\python311\lib\site-packages (from tqdm>=4.65.0->chromadb) (0.4.6)
Collecting click>=7.0 (from uvicorn[standard]>=0.18.3->chromadb)
  Using cached click-8.1.4-py3-none-any.whl (98 kB)
Collecting h11>=0.8 (from uvicorn[standard]>=0.18.3->chromadb)
  Using cached h11-0.14.0-py3-none-any.whl (58 kB)
Collecting httptools>=0.5.0 (from uvicorn[standard]>=0.18.3->chromadb)
  Using cached httptools-0.6.0-cp311-cp311-win_amd64.whl (142 kB)
Collecting python-dotenv>=0.13 (from uvicorn[standard]>=0.18.3->chromadb)
  Using cached python_dotenv-1.0.0-py3-none-any.whl (19 kB)
Requirement already satisfied: pyyaml>=5.1 in c:\users\user\appdata\local\programs\python\python311\lib\site-packages (from uvicorn[standard]>=0.18.3->chromadb) (6.0)
Collecting watchfiles>=0.13 (from uvicorn[standard]>=0.18.3->chromadb)
  Using cached watchfiles-0.19.0-cp37-abi3-win_amd64.whl (270 kB)
Collecting websockets>=10.4 (from uvicorn[standard]>=0.18.3->chromadb)
  Using cached websockets-11.0.3-cp311-cp311-win_amd64.whl (124 kB)
Collecting humanfriendly>=9.1 (from coloredlogs->onnxruntime>=1.14.1->chromadb)
  Using cached humanfriendly-10.0-py2.py3-none-any.whl (86 kB)
Collecting zipp>=0.5 (from importlib-metadata->clickhouse-connect>=0.5.7->chromadb)
  Using cached zipp-3.16.0-py3-none-any.whl (6.7 kB)
Collecting mpmath>=0.19 (from sympy->onnxruntime>=1.14.1->chromadb)
  Using cached mpmath-1.3.0-py3-none-any.whl (536 kB)
Collecting sniffio>=1.1 (from anyio<5,>=3.4.0->starlette==0.20.4->fastapi==0.85.1->chromadb)
  Using cached sniffio-1.3.0-py3-none-any.whl (10 kB)
Collecting pyreadline3 (from humanfriendly>=9.1->coloredlogs->onnxruntime>=1.14.1->chromadb)
  Using cached pyreadline3-3.4.1-py3-none-any.whl (95 kB)
Building wheels for collected packages: hnswlib
  Building wheel for hnswlib (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for hnswlib (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [233 lines of output]
      running bdist_wheel
      running build
      running build_ext
      building 'hnswlib' extension
      creating build
      creating build\temp.win32-cpython-311
      creating build\temp.win32-cpython-311\Release
      creating build\temp.win32-cpython-311\Release\python_bindings
      "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\bin\HostX86\x86\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -IC:\Users\user\AppData\Local\Temp\pip-build-env-9co6tf1z\overlay\Lib\site-packages\pybind11\include -IC:\Users\user\AppData\Local\Temp\pip-build-env-9co6tf1z\overlay\Lib\site-packages\numpy\core\include -I./hnswlib/ -IC:\Users\user\AppData\Local\Programs\Python\Python311\include -IC:\Users\user\AppData\Local\Programs\Python\Python311\Include "-IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include" "-IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\ATLMFC\include" "-IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\include" -Iinclude\10.0.22000.0\ucrt "-IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include" "-IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\ATLMFC\include" "-IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\cppwinrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" /EHsc /Tp./python_bindings/bindings.cpp /Fobuild\temp.win32-cpython-311\Release\./python_bindings/bindings.obj /EHsc /openmp /O2 /DVERSION_INFO=\\\"0.7.0\\\"
      bindings.cpp
      ./python_bindings/bindings.cpp(876): warning C4996: 'pybind11_init': PYBIND11_PLUGIN is deprecated, use PYBIND11_MODULE
      ./python_bindings/bindings.cpp(877): warning C4996: 'pybind11::module_::module_': Use PYBIND11_MODULE or module_::create_extension_module instead
      ./python_bindings/bindings.cpp(619): warning C4018: '<=': signed/unsigned mismatch
      ./python_bindings/bindings.cpp(600): note: while compiling class template member function 'pybind11::object Index<float,float>::knnQuery_return_numpy(pybind11::object,size_t,int,const std::function<bool (hnswlib::labeltype)> &)'
      ./python_bindings/bindings.cpp(953): note: see the first reference to 'Index<float,float>::knnQuery_return_numpy' in 'pybind11_init'
      C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\type_traits(544): note: see reference to class template instantiation 'Index<float,float>' being compiled
      C:\Users\user\AppData\Local\Temp\pip-build-env-9co6tf1z\overlay\Lib\site-packages\pybind11\include\pybind11\pybind11.h(1509): note: see reference to class template instantiation 'std::is_polymorphic<Index<float,float>>' being compiled
      ./python_bindings/bindings.cpp(879): note: see reference to class template instantiation 'pybind11::class_<Index<float,float>>' being compiled
      ./python_bindings/bindings.cpp(261): warning C4018: '<=': signed/unsigned mismatch
      ./python_bindings/bindings.cpp(248): note: while compiling class template member function 'void Index<float,float>::addItems(pybind11::object,pybind11::object,int,bool)'
      ./python_bindings/bindings.cpp(953): note: see the first reference to 'Index<float,float>::addItems' in 'pybind11_init'
      C:\Users\user\AppData\Local\Temp\pip-install-xablluof\hnswlib_6d1e6674d07e44739874a359d90c528a\hnswlib\bruteforce.h(105): warning C4018: '<': signed/unsigned mismatch
      C:\Users\user\AppData\Local\Temp\pip-install-xablluof\hnswlib_6d1e6674d07e44739874a359d90c528a\hnswlib\bruteforce.h(101): note: while compiling class template member function 'std::priority_queue<std::pair<dist_t,hnswlib::labeltype>,std::vector<std::pair<dist_t,hnswlib::labeltype>,std::allocator<std::pair<dist_t,hnswlib::labeltype>>>,std::less<_Ty>> hnswlib::BruteforceSearch<dist_t>::searchKnn(const void *,size_t,hnswlib::BaseFilterFunctor *) const'
              with
              [
                  dist_t=float,
                  _Ty=std::pair<float,hnswlib::labeltype>
              ]
      ./python_bindings/bindings.cpp(841): note: see the first reference to 'hnswlib::BruteforceSearch<dist_t>::searchKnn' in 'BFIndex<float,float>::knnQuery_return_numpy'
              with
              [
                  dist_t=float
              ]
      ./python_bindings/bindings.cpp(965): note: see the first reference to 'BFIndex<float,float>::knnQuery_return_numpy' in 'pybind11_init'
      ./python_bindings/bindings.cpp(841): note: see reference to class template instantiation 'hnswlib::BruteforceSearch<dist_t>' being compiled
              with
              [
                  dist_t=float
              ]
      ./python_bindings/bindings.cpp(820): note: while compiling class template member function 'pybind11::object BFIndex<float,float>::knnQuery_return_numpy(pybind11::object,size_t,const std::function<bool (hnswlib::labeltype)> &)'
      ./python_bindings/bindings.cpp(965): note: see the first reference to 'BFIndex<float,float>::knnQuery_return_numpy' in 'pybind11_init'
      C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\type_traits(544): note: see reference to class template instantiation 'BFIndex<float,float>' being compiled
      C:\Users\user\AppData\Local\Temp\pip-build-env-9co6tf1z\overlay\Lib\site-packages\pybind11\include\pybind11\pybind11.h(1509): note: see reference to class template instantiation 'std::is_polymorphic<BFIndex<float,float>>' being compiled
      ./python_bindings/bindings.cpp(957): note: see reference to class template instantiation 'pybind11::class_<BFIndex<float,float>>' being compiled
      C:\Users\user\AppData\Local\Temp\pip-install-xablluof\hnswlib_6d1e6674d07e44739874a359d90c528a\hnswlib\bruteforce.h(113): warning C4018: '<': signed/unsigned mismatch
      C:\Users\user\AppData\Local\Temp\pip-install-xablluof\hnswlib_6d1e6674d07e44739874a359d90c528a\hnswlib\hnswalg.h(973): warning C4267: 'argument': conversion from 'size_t' to 'unsigned short', possible loss of data
      C:\Users\user\AppData\Local\Temp\pip-install-xablluof\hnswlib_6d1e6674d07e44739874a359d90c528a\hnswlib\hnswalg.h(908): note: while compiling class template member function 'void hnswlib::HierarchicalNSW<dist_t>::updatePoint(const void *,hnswlib::tableint,float)'
              with
              [
                  dist_t=float
              ]
      C:\Users\user\AppData\Local\Temp\pip-install-xablluof\hnswlib_6d1e6674d07e44739874a359d90c528a\hnswlib\hnswalg.h(903): note: see the first reference to 'hnswlib::HierarchicalNSW<dist_t>::updatePoint' in 'hnswlib::HierarchicalNSW<dist_t>::addPoint'
              with
              [
                  dist_t=float
              ]
      ./python_bindings/bindings.cpp(879): note: see reference to class template instantiation 'hnswlib::HierarchicalNSW<dist_t>' being compiled
              with
              [
                  dist_t=float
              ]
      C:\Users\user\AppData\Local\Temp\pip-install-xablluof\hnswlib_6d1e6674d07e44739874a359d90c528a\hnswlib\hnswalg.h(481): warning C4267: 'argument': conversion from 'size_t' to 'unsigned short', possible loss of data
      C:\Users\user\AppData\Local\Temp\pip-install-xablluof\hnswlib_6d1e6674d07e44739874a359d90c528a\hnswlib\hnswalg.h(445): note: while compiling class template member function 'hnswlib::tableint hnswlib::HierarchicalNSW<dist_t>::mutuallyConnectNewElement(const void *,hnswlib::tableint,std::priority_queue<std::pair<dist_t,hnswlib::labeltype>,std::vector<std::pair<dist_t,hnswlib::labeltype>,std::allocator<std::pair<dist_t,hnswlib::labeltype>>>,hnswlib::HierarchicalNSW<dist_t>::CompareByFirst> &,int,bool)'
              with
              [
                  dist_t=float
              ]
      C:\Users\user\AppData\Local\Temp\pip-install-xablluof\hnswlib_6d1e6674d07e44739874a359d90c528a\hnswlib\hnswalg.h(1166): note: see the first reference to 'hnswlib::HierarchicalNSW<dist_t>::mutuallyConnectNewElement' in 'hnswlib::HierarchicalNSW<dist_t>::addPoint'
              with
              [
                  dist_t=float
              ]
      C:\Users\user\AppData\Local\Temp\pip-install-xablluof\hnswlib_6d1e6674d07e44739874a359d90c528a\hnswlib\hnswalg.h(875): note: see the first reference to 'hnswlib::HierarchicalNSW<dist_t>::addPoint' in 'hnswlib::HierarchicalNSW<dist_t>::addPoint'
              with
              [
                  dist_t=float
              ]
      C:\Users\user\AppData\Local\Temp\pip-install-xablluof\hnswlib_6d1e6674d07e44739874a359d90c528a\hnswlib\hnswalg.h(527): warning C4267: 'argument': conversion from 'size_t' to 'unsigned short', possible loss of data
      C:\Users\user\AppData\Local\Temp\pip-install-xablluof\hnswlib_6d1e6674d07e44739874a359d90c528a\hnswlib\hnswalg.h(755): warning C4018: '<': signed/unsigned mismatch
      ./python_bindings/bindings.cpp(323): note: see reference to function template instantiation 'std::vector<data_t,std::allocator<data_t>> hnswlib::HierarchicalNSW<dist_t>::getDataByLabel<data_t>(hnswlib::labeltype) const' being compiled
              with
              [
                  data_t=float,
                  dist_t=float
              ]
      ./python_bindings/bindings.cpp(304): note: while compiling class template member function 'std::vector<std::vector<data_t,std::allocator<data_t>>,std::allocator<std::vector<data_t,std::allocator<data_t>>>> Index<float,data_t>::getDataReturnList(pybind11::object)'
              with
              [
                  data_t=float
              ]
      ./python_bindings/bindings.cpp(953): note: see the first reference to 'Index<float,float>::getDataReturnList' in 'pybind11_init'
      creating C:\Users\user\AppData\Local\Temp\pip-install-xablluof\hnswlib_6d1e6674d07e44739874a359d90c528a\build\lib.win32-cpython-311
      "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\bin\HostX86\x86\link.exe" /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:C:\Users\user\AppData\Local\Programs\Python\Python311\libs /LIBPATH:C:\Users\user\AppData\Local\Programs\Python\Python311 /LIBPATH:C:\Users\user\AppData\Local\Programs\Python\Python311\PCbuild\win32 "/LIBPATH:C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\ATLMFC\lib\x86" "/LIBPATH:C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\lib\x86" /LIBPATH:lib\10.0.22000.0\ucrt\x86 "/LIBPATH:C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\ATLMFC\lib\x86" "/LIBPATH:C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\lib\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\lib\um\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.22000.0\ucrt\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\\lib\10.0.22000.0\\um\x86" /EXPORT:PyInit_hnswlib build\temp.win32-cpython-311\Release\./python_bindings/bindings.obj /OUT:build\lib.win32-cpython-311\hnswlib.cp311-win_amd64.pyd /IMPLIB:build\temp.win32-cpython-311\Release\./python_bindings\hnswlib.cp311-win_amd64.lib
         Creating library build\temp.win32-cpython-311\Release\./python_bindings\hnswlib.cp311-win_amd64.lib and object build\temp.win32-cpython-311\Release\./python_bindings\hnswlib.cp311-win_amd64.exp
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyThread_tss_create
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyUnicode_AsEncodedString
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyBaseObject_Type
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyMem_Calloc
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyExc_BufferError
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyObject_SetAttr
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyCFunction_Type
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyWeakref_NewRef
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyThreadState_Get
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyLong_AsUnsignedLong
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyObject_Malloc
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyImport_ImportModule
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyBytes_AsString
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyErr_NormalizeException
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyErr_Occurred
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyLong_FromSsize_t
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyUnicode_DecodeUTF8
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyUnicode_AsUTF8AndSize
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyEval_SaveThread
      bindings.obj : error LNK2001: unresolved external symbol __imp___PyThreadState_UncheckedGet
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyExc_RuntimeError
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyObject_SetAttrString
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyLong_FromLong
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyObject_GC_UnTrack
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyInstanceMethod_Type
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyExc_MemoryError
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyDict_GetItemWithError
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyLong_FromUnsignedLongLong
      bindings.obj : error LNK2001: unresolved external symbol __imp__Py_GetVersion
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyCapsule_GetContext
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyDict_Contains
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyFrame_GetLineNumber
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyFloat_AsDouble
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyLong_AsUnsignedLongLong
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyGILState_Release
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyBytes_AsStringAndSize
      bindings.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyLong_AsLongLong
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyTuple_New
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyObject_GenericSetDict
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyDict_Size
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyLong_FromLongLong
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyFloat_FromDouble
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyList_Size
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyByteArray_AsString
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyErr_SetString
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyErr_WriteUnraisable
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyExc_ValueError
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyLong_FromUnsignedLong
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyDict_Next
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyErr_Format
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyDict_Type
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyThreadState_New
      bindings.obj : error LNK2001: unresolved external symbol __imp___Py_FalseStruct
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyFloat_Type
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyMethod_Type
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyType_IsSubtype
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyErr_Restore
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyExc_OverflowError
      bindings.obj : error LNK2001: unresolved external symbol __imp___Py_Dealloc
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyTuple_GetItem
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyCapsule_GetPointer
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyErr_Fetch
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyObject_CallFunctionObjArgs
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyLong_AsLong
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyObject_GenericGetDict
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyObject_ClearWeakRefs
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyUnicode_FromFormat
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyObject_GetBuffer
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyList_New
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyUnicode_DecodeUTF16
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyModule_Create2
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyType_Ready
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyObject_GetAttrString
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyErr_Clear
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyTuple_Size
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyThread_tss_get
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyException_SetTraceback
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyCapsule_New
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyCapsule_GetName
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyBytes_Size
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyDict_New
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyList_GetItem
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyException_SetContext
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyInstanceMethod_New
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyObject_IsInstance
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyUnicode_DecodeUTF32
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyMem_Free
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyTuple_SetItem
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyCMethod_New
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyThread_tss_set
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyObject_GetItem
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyObject_CallObject
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyObject_HasAttrString
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyProperty_Type
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyIndex_Check
      bindings.obj : error LNK2001: unresolved external symbol __imp___Py_NotImplementedStruct
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyByteArray_Size
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyGILState_Ensure
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyCapsule_SetContext
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyNumber_Check
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyNumber_Long
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyThread_tss_alloc
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyThreadState_DeleteCurrent
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyExc_TypeError
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyThreadState_Clear
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyCapsule_Type
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyEval_GetBuiltins
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyDict_Copy
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyObject_Str
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyUnicode_AsUTF8String
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyModule_Type
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyCallable_Check
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyFrame_GetBack
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyFrame_GetCode
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyExc_IndexError
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyExc_ImportError
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyCapsule_SetPointer
      bindings.obj : error LNK2001: unresolved external symbol __imp___Py_TrueStruct
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyExc_SystemError
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyObject_SetItem
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyException_SetCause
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyDict_DelItemString
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyUnicode_FromString
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyLong_FromSize_t
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyEval_AcquireThread
      bindings.obj : error LNK2001: unresolved external symbol __imp___PyType_Lookup
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyGILState_GetThisThreadState
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyBuffer_Release
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyObject_Repr
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyByteArray_Type
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyNumber_Float
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyType_Type
      bindings.obj : error LNK2001: unresolved external symbol __imp__PySequence_Tuple
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyCapsule_SetName
      bindings.obj : error LNK2001: unresolved external symbol __imp__PyEval_RestoreThread
      bindings.obj : error LNK2001: unresolved external symbol __imp___PyObject_GetDictPtr
      build\lib.win32-cpython-311\hnswlib.cp311-win_amd64.pyd : fatal error LNK1120: 137 unresolved externals
      error: command 'C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX86\\x86\\link.exe' failed with exit code 1120
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for hnswlib
Failed to build hnswlib
ERROR: Could not build wheels for hnswlib, which is required to install pyproject.toml-based projects

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 15 (1 by maintainers)

Most upvoted comments

@ido777 That is good feedback, you can pin the git clone to our release branches though.

Can you please try our recommended path for running the docker container which is to clone the repo and run the compose, instead of using the built image.

git clone https://github.com/chroma-core/chroma.git cd chroma docker-compose up -d --build

https://docs.trychroma.com/getting-started?lang=js#2-get-the-chroma-client