I'm trying to write the Dockerfile for a small python web project and there is something wrong with the dependencies. I've been doing some search on the internet and it said that Librosa library requires libsndfile to work properly so I tried to install it using apt-get install libsndfile1
(I've also tried libsndfile-dev,...) . However, it doesn't seem to solve my problem.
This is how my Dockerfile looks like:
FROM python:3.6-buster as buildENV STATIC_URL /static
ENV STATIC_PATH /var/www/app/staticWORKDIR /var/www/RUN python -m venv /opt/venvENV PATH="/opt/venv/bin:$PATH"COPY requirements.txt .RUN pip install -r requirements.txtRUN pip install gunicornRUN apt-get update -y && apt-get install -y --no-install-recommends build-essential gcc \libsndfile1 FROM python:3.6-buster AS runCOPY --from=build /opt/venv /opt/venvCOPY . .ENV PATH="/opt/venv/bin:$PATH"RUN gunicorn -b :5000 --access-logfile - --error-logfile - app:app
However, when i try to build and run this, this error occured:
[2020-04-15 17:30:02 +0000] [7] [INFO] Starting gunicorn 20.0.4
[2020-04-15 17:30:02 +0000] [7] [INFO] Listening at: http://0.0.0.0:5000 (7)
[2020-04-15 17:30:02 +0000] [7] [INFO] Using worker: sync
[2020-04-15 17:30:02 +0000] [10] [INFO] Booting worker with pid: 10
[2020-04-15 17:30:03 +0000] [10] [ERROR] Exception in worker process
Traceback (most recent call last):File "/opt/venv/lib/python3.6/site-packages/gunicorn/arbiter.py", line 583, in spawn_workerworker.init_process()File "/opt/venv/lib/python3.6/site-packages/gunicorn/workers/base.py", line 119, in init_processself.load_wsgi()File "/opt/venv/lib/python3.6/site-packages/gunicorn/workers/base.py", line 144, in load_wsgiself.wsgi = self.app.wsgi()File "/opt/venv/lib/python3.6/site-packages/gunicorn/app/base.py", line 67, in wsgiself.callable = self.load()File "/opt/venv/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 49, in loadreturn self.load_wsgiapp()File "/opt/venv/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiappreturn util.import_app(self.app_uri)File "/opt/venv/lib/python3.6/site-packages/gunicorn/util.py", line 358, in import_appmod = importlib.import_module(module)File "/usr/local/lib/python3.6/importlib/__init__.py", line 126, in import_modulereturn _bootstrap._gcd_import(name[level:], package, level)File "<frozen importlib._bootstrap>", line 994, in _gcd_importFile "<frozen importlib._bootstrap>", line 971, in _find_and_loadFile "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlockedFile "<frozen importlib._bootstrap>", line 665, in _load_unlockedFile "<frozen importlib._bootstrap_external>", line 678, in exec_moduleFile "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removedFile "/app.py", line 12, in <module>from emotion_model.test import load_model, inference_segmentFile "/emotion_model/test.py", line 9, in <module>import librosaFile "/opt/venv/lib/python3.6/site-packages/librosa/__init__.py", line 12, in <module>from . import coreFile "/opt/venv/lib/python3.6/site-packages/librosa/core/__init__.py", line 126, in <module>from .audio import * # pylint: disable=wildcard-importFile "/opt/venv/lib/python3.6/site-packages/librosa/core/audio.py", line 10, in <module>import soundfile as sfFile "/opt/venv/lib/python3.6/site-packages/soundfile.py", line 142, in <module>raise OSError('sndfile library not found')
OSError: sndfile library not found
[2020-04-15 17:30:03 +0000] [10] [INFO] Worker exiting (pid: 10)
[2020-04-15 17:30:03 +0000] [7] [INFO] Shutting down: Master
[2020-04-15 17:30:03 +0000] [7] [INFO] Reason: Worker failed to boot.