-
Notifications
You must be signed in to change notification settings - Fork 589
Open
Description
I am trying to use Essentia inside a Docker container for a project but I'm having trouble doing so. I tried following the instructions here. This is my Dockerfile:
FROM ubuntu:22.04
ENV LANG=C.UTF-8
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install -y python3 python3-pip git && \
pip3 install setuptools wheel && \
pip3 install tensorflow==2.12
RUN git clone https://github.com/MTG/essentia.git \
&& cd essentia \
&& src/3rdparty/tensorflow/setup_from_python.sh \
&& apt-get -y install build-essential libyaml-dev libfftw3-dev libavcodec-dev libavformat-dev libavutil-dev libsamplerate0-dev libtag1-dev libchromaprint-dev python-six python3-dev python3-numpy-dev python3-numpy python3-yaml libeigen3-dev \
&& python3 waf configure --build-static --with-python --with-tensorflow \
&& python3 waf && python3 waf install
# Copy application code
ADD app.py .
# Run the app
CMD ["python3", "app.py"]
Here are the contents of app.py:
# first, we need to import our essentia module. It is aptly named 'essentia'!
import essentia
# there are two operating modes in essentia which (mostly) have the same algorithms
# they are accessible via two submodules:
import essentia.standard
import essentia.streaming
# let's have a look at what is in there
print(dir(essentia.standard))
# you can also do it by using autocompletion in Jupyter/IPython, typing "essentia.standard." and pressing Tab
It builds just fine but when I try to run it afterward, it gives me this:
Traceback (most recent call last):
File "//app.py", line 6, in <module>
import essentia.standard
ModuleNotFoundError: No module named 'essentia.standard'
I am currently on a M1 Mac. Container uses Ubuntu 22.04 as base.
Metadata
Metadata
Assignees
Labels
No labels