Невозможно установить ChromaDB на образ Docker Python: 3.12.3-alpine3.19

Я пытаюсь установить зависимости Python на образ Docker python:3.12.3-alpine3.19. Когда файл require.txt обрабатывается, я получаю следующую ошибку:

7.932 ERROR: Ignored the following versions that require a different python version: 0.5.12 Requires-Python >=3.7,<3.12; 0.5.13 Requires-Python >=3.7,<3.12; 1.21.2 Requires-Python >=3.7,<3.11; 1.21.3 Requires-Python >=3.7,<3.11; 1.21.4 Requires-Python >=3.7,<3.11; 1.21.5 Requires-Python >=3.7,<3.11; 1.21.6 Requires-Python >=3.7,<3.11
7.932 ERROR: Could not find a version that satisfies the requirement onnxruntime==1.18.0 (from versions: none)
7.933 ERROR: No matching distribution found for onnxruntime==1.18.0
------
failed to solve: process "/bin/sh -c pip install -r requirements.txt && pip uninstall

Даже если я попытаюсь установить более старую версию Python, я все равно получаю сообщение об ошибке:

Из Python: 3.10.14-alpine3.19.

61.58 ERROR: Could not find a version that satisfies the requirement onnxruntime==1.18.0 (from versions: none)
61.58 ERROR: No matching distribution found for onnxruntime==1.18.0

Почему это происходит?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
2
0
137
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Похоже, что векторная БД Chroma не работает (или не работает «из коробки») с Alpine-дистрибутивами Python. Я переключился на Bookworm, смог установить Chroma и использовать его в скрипте, работающем в моем контейнере Docker.

Вероятно, это связано с тем, что onnxruntime создан с использованием glibc. Alpine использует стандартную библиотеку musl C, тогда как debian bookworm и многие другие дистрибутивы Linux используют glibc.

jkr 02.06.2024 14:26

Другие вопросы по теме