Не удается открыть общий объектный файл при использовании Docker - PullRequest
0 голосов
/ 01 июня 2018

Когда я запускаю программу следующим скриптом:

from hunspell import Hunspell

if __name__ == '__main__':
    h = Hunspell()
    print(h.spell('test'))

На локальном компьютере все в порядке, но когда я собираю и запускаю код в докере, выдается следующее исключение:

    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 ++, которые, как мне кажется, вызывают такое исключение.

Кто-нибудь знает, как это исправитьвопрос?Нужно ли использовать Linux для базового образа в Dockerfile?

1 Ответ

0 голосов
/ 01 июня 2018

Установить недостающие пакеты:

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" ]
...