RuntimeError:无法缓存函数“ __jaccard”:文件“ /usr/local/lib/python3.7/site-packages/librosa/util/matching.py”没有可用的定位器

sn1*_*234 5 docker numba librosa

我在Windows10计算机上对Flask应用程序进行了docker化,在docker运行后出现以下错误

RuntimeError:无法缓存函数“ __jaccard”:文件“ /usr/local/lib/python3.7/site-packages/librosa/util/matching.py”没有可用的定位器

flask应用程序在我的计算机上本地运行良好。

我提到过类似的帖子:numba缓存问题:无法缓存功能/文件没有可用的定位器

我在Dockerfile中添加了应用程序的用户访问权限。

1. Dockerfile

来自python:3.7.3

RUN useradd管理员

复制。/ app

WORKDIR / app

运行pip install -r“ requirements.txt”

RUN chown -R admin:admin / app

运行chmod 755 / app

用户管理员

ENTRYPOINT [“ python”]

CMD [“ app.py”]

2. requirements.txt

flask tensorflow flask_cors uuid librosa numba pysoundfile numpy cffi请求wave h5py pydub werkzeug

3.错误日志:

追溯(最近一次通话最后一次):导入librosa中的文件“ app.py”,第6 行,第13行中的文件“ /usr/local/lib/python3.7/site-packages/librosa/ init .py”, 。进口核心

从“ .time_frequency import”中输入文件“ /usr/local/lib/python3.7/site-packages/librosa/core/ init .py”,行114 * pylint:disable = wildcard-import

来自..util.exceptions的文件“ /usr/local/lib/python3.7/site-packages/librosa/core/time_frequency.py”,第10行,导入ParameterError

从.matching import中输入文件“ /usr/local/lib/python3.7/site-packages/librosa/util/ init .py”,第70行*#pylint:disable = wildcard-import

@ numba.jit中的第16行的文件“ /usr/local/lib/python3.7/site-packages/librosa/util/matching.py”(nopython=True,缓存= True)文件“ / usr / local /包装中的lib / python3.7 / site-packages / numba / decorators.py“,行179,disp.enable_caching()

在enable_caching self._cache = FunctionCache(self.py_func)中的文件“ /usr/local/lib/python3.7/site-packages/numba/dispatcher.py”,第571行

初始化为 self._impl = self._impl_class(py_func)的文件“ /usr/local/lib/python3.7/site-packages/numba/caching.py”,第614行

文件“ /usr/local/lib/python3.7/site-packages/numba/caching.py”,行349,在初始化中 “对于文件%r”%(同名,source_path)

RuntimeError:无法缓存函数“ __jaccard”:文件“ /usr/local/lib/python3.7/site-packages/librosa/util/matching.py”没有可用的定位器

小智 1

我已经通过安装旧版本解决了这个问题。

pip install librosa==0.6.0
Run Code Online (Sandbox Code Playgroud)