chroma-core / chroma

the AI-native open-source embedding database
https://www.trychroma.com/
Apache License 2.0
14.79k stars 1.23k forks source link

[Install issue]: Can't install on Python 3.12.3 #2121

Open syedamaann opened 5 months ago

syedamaann commented 5 months ago

What happened?

Starting from the original Python download, on a brand new virtual environment, I get as ResolutionImpossible error.

If locked Python version (e.g. 3.10) is a dependency, you should specify this in the package documentation.

Related issue (Python 3.11, not sure this is already resolved either): https://github.com/chroma-core/chroma/issues/163

Versions

Chroma (latest) Python 3.12.3 MacOS 14.4.1

Relevant log output

Collecting langchain-chroma
  Using cached langchain_chroma-0.1.0-py3-none-any.whl.metadata (1.3 kB)
Collecting chromadb<0.5.0,>=0.4.0 (from langchain-chroma)
  Using cached chromadb-0.4.24-py3-none-any.whl.metadata (7.3 kB)
Requirement already satisfied: fastapi<1,>=0.95.2 in /Users/syedamaan/opt/anaconda3/envs/chat_with_your_data/lib/python3.12/site-packages (from langchain-chroma) (0.110.3)
Requirement already satisfied: langchain-core<0.2.0,>=0.1.40 in /Users/syedamaan/opt/anaconda3/envs/chat_with_your_data/lib/python3.12/site-packages (from langchain-chroma) (0.1.49)
Requirement already satisfied: numpy<2,>=1 in /Users/syedamaan/opt/anaconda3/envs/chat_with_your_data/lib/python3.12/site-packages (from langchain-chroma) (1.26.4)
Collecting build>=1.0.3 (from chromadb<0.5.0,>=0.4.0->langchain-chroma)
  Using cached build-1.2.1-py3-none-any.whl.metadata (4.3 kB)
Requirement already satisfied: requests>=2.28 in /Users/syedamaan/opt/anaconda3/envs/chat_with_your_data/lib/python3.12/site-packages (from chromadb<0.5.0,>=0.4.0->langchain-chroma) (2.31.0)
Requirement already satisfied: pydantic>=1.9 in /Users/syedamaan/opt/anaconda3/envs/chat_with_your_data/lib/python3.12/site-packages (from chromadb<0.5.0,>=0.4.0->langchain-chroma) (2.7.1)
Collecting chroma-hnswlib==0.7.3 (from chromadb<0.5.0,>=0.4.0->langchain-chroma)
  Using cached chroma-hnswlib-0.7.3.tar.gz (31 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: uvicorn>=0.18.3 in /Users/syedamaan/opt/anaconda3/envs/chat_with_your_data/lib/python3.12/site-packages (from uvicorn[standard]>=0.18.3->chromadb<0.5.0,>=0.4.0->langchain-chroma) (0.23.2)
Requirement already satisfied: posthog>=2.4.0 in /Users/syedamaan/opt/anaconda3/envs/chat_with_your_data/lib/python3.12/site-packages (from chromadb<0.5.0,>=0.4.0->langchain-chroma) (3.5.0)
Requirement already satisfied: typing-extensions>=4.5.0 in /Users/syedamaan/opt/anaconda3/envs/chat_with_your_data/lib/python3.12/site-packages (from chromadb<0.5.0,>=0.4.0->langchain-chroma) (4.9.0)
Collecting pulsar-client>=3.1.0 (from chromadb<0.5.0,>=0.4.0->langchain-chroma)
  Using cached pulsar_client-3.5.0-cp312-cp312-macosx_10_15_universal2.whl.metadata (1.0 kB)
INFO: pip is looking at multiple versions of chromadb to determine which version is compatible with other requirements. This could take a while.
Collecting chromadb<0.5.0,>=0.4.0 (from langchain-chroma)
  Using cached chromadb-0.4.23-py3-none-any.whl.metadata (7.3 kB)
  Using cached chromadb-0.4.22-py3-none-any.whl.metadata (7.3 kB)
  Using cached chromadb-0.4.21-py3-none-any.whl.metadata (7.3 kB)
  Using cached chromadb-0.4.20-py3-none-any.whl.metadata (7.3 kB)
  Using cached chromadb-0.4.19-py3-none-any.whl.metadata (7.3 kB)
  Using cached chromadb-0.4.18-py3-none-any.whl.metadata (7.4 kB)
  Using cached chromadb-0.4.17-py3-none-any.whl.metadata (7.3 kB)
INFO: pip is still looking at multiple versions of chromadb to determine which version is compatible with other requirements. This could take a while.
  Using cached chromadb-0.4.16-py3-none-any.whl.metadata (7.3 kB)
  Using cached chromadb-0.4.15-py3-none-any.whl.metadata (7.2 kB)
  Using cached chromadb-0.4.14-py3-none-any.whl.metadata (7.0 kB)
  Using cached chromadb-0.4.13-py3-none-any.whl.metadata (7.0 kB)
  Using cached chromadb-0.4.12-py3-none-any.whl.metadata (7.0 kB)
Collecting pydantic<2.0,>=1.9 (from chromadb<0.5.0,>=0.4.0->langchain-chroma)
  Using cached pydantic-1.10.15-py3-none-any.whl.metadata (150 kB)
Collecting fastapi<1,>=0.95.2 (from langchain-chroma)
  Using cached fastapi-0.99.1-py3-none-any.whl.metadata (23 kB)
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.
Collecting chromadb<0.5.0,>=0.4.0 (from langchain-chroma)
  Using cached chromadb-0.4.11-py3-none-any.whl.metadata (7.0 kB)
  Using cached chromadb-0.4.10-py3-none-any.whl.metadata (7.0 kB)
  Using cached chromadb-0.4.9-py3-none-any.whl.metadata (7.0 kB)
Collecting chroma-hnswlib==0.7.2 (from chromadb<0.5.0,>=0.4.0->langchain-chroma)
  Using cached chroma-hnswlib-0.7.2.tar.gz (31 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting chromadb<0.5.0,>=0.4.0 (from langchain-chroma)
  Using cached chromadb-0.4.8-py3-none-any.whl.metadata (6.9 kB)
  Using cached chromadb-0.4.7-py3-none-any.whl.metadata (6.9 kB)
  Using cached chromadb-0.4.6-py3-none-any.whl.metadata (6.8 kB)
  Using cached chromadb-0.4.5-py3-none-any.whl.metadata (6.8 kB)
  Using cached chromadb-0.4.4-py3-none-any.whl.metadata (6.8 kB)
  Using cached chromadb-0.4.3-py3-none-any.whl.metadata (6.9 kB)
Requirement already satisfied: pandas>=1.3 in /Users/syedamaan/opt/anaconda3/envs/chat_with_your_data/lib/python3.12/site-packages (from chromadb<0.5.0,>=0.4.0->langchain-chroma) (2.2.2)
Collecting chroma-hnswlib==0.7.1 (from chromadb<0.5.0,>=0.4.0->langchain-chroma)
  Using cached chroma-hnswlib-0.7.1.tar.gz (30 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting chromadb<0.5.0,>=0.4.0 (from langchain-chroma)
  Using cached chromadb-0.4.2-py3-none-any.whl.metadata (6.9 kB)
  Using cached chromadb-0.4.1-py3-none-any.whl.metadata (6.9 kB)
  Using cached chromadb-0.4.0-py3-none-any.whl.metadata (6.9 kB)
ERROR: Cannot install langchain-chroma because these package versions have conflicting dependencies.

The conflict is caused by:
    chromadb 0.4.24 depends on onnxruntime>=1.14.1
    chromadb 0.4.23 depends on onnxruntime>=1.14.1
    chromadb 0.4.22 depends on onnxruntime>=1.14.1
    chromadb 0.4.21 depends on onnxruntime>=1.14.1
    chromadb 0.4.20 depends on onnxruntime>=1.14.1
    chromadb 0.4.19 depends on onnxruntime>=1.14.1
    chromadb 0.4.18 depends on onnxruntime>=1.14.1
    chromadb 0.4.17 depends on onnxruntime>=1.14.1
    chromadb 0.4.16 depends on onnxruntime>=1.14.1
    chromadb 0.4.15 depends on onnxruntime>=1.14.1
    chromadb 0.4.14 depends on onnxruntime>=1.14.1
    chromadb 0.4.13 depends on onnxruntime>=1.14.1
    chromadb 0.4.12 depends on onnxruntime>=1.14.1
    chromadb 0.4.11 depends on onnxruntime>=1.14.1
    chromadb 0.4.10 depends on onnxruntime>=1.14.1
    chromadb 0.4.9 depends on onnxruntime>=1.14.1
    chromadb 0.4.8 depends on onnxruntime>=1.14.1
    chromadb 0.4.7 depends on onnxruntime>=1.14.1
    chromadb 0.4.6 depends on onnxruntime>=1.14.1
    chromadb 0.4.5 depends on onnxruntime>=1.14.1
    chromadb 0.4.4 depends on onnxruntime>=1.14.1
    chromadb 0.4.3 depends on onnxruntime>=1.14.1
    chromadb 0.4.2 depends on onnxruntime>=1.14.1
    chromadb 0.4.1 depends on onnxruntime>=1.14.1
    chromadb 0.4.0 depends on onnxruntime>=1.14.1

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

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
tazarov commented 5 months ago

@syedamaann, I think you are trying to install chroma==0.5.0 and langchain-chroma. This is likely what results in the above error. We have an active PR to extend the range of supported Chroma versions in LC - https://github.com/langchain-ai/langchain/pull/21224