Mozilla DeepSpeech на Alpine

Я пытаюсь установить DeepSpeech в свой контейнер Alpine, и хотя я, кажется, выполняю все требования в соответствии с документацией, я получаю «несовместим с этой ошибкой Python».

Вот журнал, когда я бегу pip install --verbose deepspeech

Step 10/13 : RUN uname -a
 ---> Running in dd5b145a0055
Linux dd5b145a0055 4.9.125-linuxkit #1 SMP Fri Sep 7 08:20:28 UTC 2018 x86_64 Linux
Removing intermediate container dd5b145a0055
 ---> e2324a616bc9
Step 11/13 : RUN python3 --version
 ---> Running in 127dd70a437e
Python 3.6.5
Removing intermediate container 127dd70a437e
 ---> 5c479002edcc
Step 12/13 : RUN pip3 --version
 ---> Running in 644ef37e87b1
pip 19.1.1 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)
Removing intermediate container 644ef37e87b1
 ---> 4913080991d8
Step 13/13 : RUN pip3 install --verbose deepspeech
 ---> Running in a1e82420debc
Created temporary directory: /tmp/pip-ephem-wheel-cache-6thq7neq
Created temporary directory: /tmp/pip-req-tracker-89xh1p6c
Created requirements tracker '/tmp/pip-req-tracker-89xh1p6c'
Created temporary directory: /tmp/pip-install-rxt4ntrq
Collecting deepspeech
  1 location(s) to search for versions of deepspeech:
  * https://pypi.org/simple/deepspeech/
  Getting page https://pypi.org/simple/deepspeech/
  Looking up "https://pypi.org/simple/deepspeech/" in the cache
  Request header has "max_age" as 0, cache bypassed
  Starting new HTTPS connection (1): pypi.org:443
  https://pypi.org:443 "GET /simple/deepspeech/ HTTP/1.1" 200 55772
  Updating cache with response from "https://pypi.org/simple/deepspeech/"
  Caching due to etag
  Analyzing links from page https://pypi.org/simple/deepspeech/
    Skipping link https://files.pythonhosted.org/packages/4f/71/3fbcf9309730496777375a51d441d33ec9c6a036dd0f9da5c09848625801/deepspeech-0.0.2-cp27-cp27m-macosx_10_12_x86_64.whl#sha256=b186405784bb989759a241d2f75e2aa88b4f88dd6377393620e45865cfcc0af8 (from https://pypi.org/simple/deepspeech/); it is not compatible with this Python
…

[91m  ERROR: Could not find a version that satisfies the requirement deepspeech (from versions: none)
[0mCleaning up...
Removed build tracker '/tmp/pip-req-tracker-89xh1p6c'
[91mERROR: No matching distribution found for deepspeech

Кажется, это обычная проблема в среде Windows, но это базовый образ Alpine. Что мне не хватает?

Почему в 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 может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
288
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

глубокая речь доступен только в 64-битных сборках. Ваш питон, вероятно, 32-битный. Проверьте это с

python -c "import struct; print(struct.calcsize('P') * 8)"

Если он показывает 32-разрядную версию, вам необходимо переустановить 64-разрядную версию Python.

Шаг 10 в их выводе показывает, что он уже 64-битный.

Andy Shinn 20.07.2019 21:30

Это 64-битный Linux, но Python все еще может быть 32-битным. Это требует отдельного теста. Приведенная выше команда проверяет разрядность Python, а не ОС.

phd 20.07.2019 22:32
Ответ принят как подходящий

Из https://github.com/mozilla/DeepSpeech/tree/v0.5.1#installing-bindings-from-source:

If pre-built binaries aren't available for your system, you'll need to install them from scratch. Follow these native_client installation instructions.

Alpine Linux использует musl libc вместо glibc. Доступные диски DeepSpeech Python для «manylinux» не будут работать на Alpine. Вам нужно будет пройти компиляцию из исходной документации. Тем не менее, все еще могут быть другие несовместимости с musl libc при компиляции из исходного кода.

Если Alpine не является жестким требованием, вы, вероятно, получите гораздо лучший опыт установки, используя другой базовый образ Linux, который поддерживает предварительно скомпилированные колеса.

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