当我按照脚本运行程序时:
from hunspell import Hunspell
if __name__ == '__main__':
h = Hunspell()
print(h.spell('test'))
在本地计算机上一切正常但是当我在docker上构建并运行代码时,它会抛出以下异常:
from hunspell import Hunspell
File "/usr/local/lib/python3.6/site-packages/hunspell/__init__.py", line 3, in <module>
from .hunspell import HunspellWrap as Hunspell
ImportError: libhunspell-1.3.so.0: cannot open shared object file: No such file or directory
我的Dockerfile类似于:
FROM python:3
ADD main.py /
RUN pip install cyhunspell
CMD [ "python", "main.py" ]
Hunspell使用我认为导致此类异常的c ++二进制文件。
有人知道如何解决这个问题吗?是否有必要在Dockerfile中使用Linux作为基本映像?
答案 0 :(得分:2)
安装缺少的包:
FROM python:3
ADD main.py /
RUN apt-get update
RUN apt-get install -y libhunspell-1.3-0
RUN pip install cyhunspell
CMD [ "python", "main.py" ]