pythonlinuxdockerpipmozilla-deepspeech

Mozilla DeepSpeech on Alpine


I am trying to install DeepSpeech in my Alpine container, and while I seem to fulfill all of the requirements according to the documentation, I get 'not compatible with this Python error'.

Here is the log from when I run 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

I seems that this is a common issue on a Windows environment, but this is a Alpine base image. What am I missing?


Solution

  • From 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 uses the musl libc instead of glibc. The available DeepSpeech Python wheels for "manylinux" won't work on Alpine. You'll need to go through the compiling from source documentation. However, there still may be other musl libc incompatibilities compiling from source.

    If Alpine is not a hard requirement you are likely to have a much better installation experience using another Linux base image that supports the pre-compiled wheels.