본문 바로가기
CS/python

[docker] docker 이미지에 openslide 설치하기

by judy@ 2022. 8. 31.

python 베이스 이미지에 openslide를 설치하기 위해서는 다음과 같은 도커 파일을 작성하면 된다.

 

Dockerfile

FROM python:3.9.6

RUN apt-get update && apt-get install -y openslide-tools python3-openslide
RUN pip install numpy pandas scipy tiffile openslide-python

위 도커이미지는 링크에서 pull을 받아 활용할 수도 있다! (레포지토리 깨알 홍보)

또는 아래 명령어를 통해서도 가능하다.

docker push jylee030/wsi-preproc:0.2

여담 :

python library만 설치해서는 구동되지 않고 아래와 같은 에러가 발생했었다.

Traceback (most recent call last):
  File "/tmp/tmp.Cwaj8hl213", line 317, in <module>
    _outputs = get_xml_mask(**_parsed_args)
  File "/tmp/tmp.Cwaj8hl213", line 14, in get_xml_mask
    import os, glob, tifffile, openslide
  File "/usr/local/lib/python3.9/site-packages/openslide/__init__.py", line 30, in <module>
    from openslide import lowlevel
  File "/usr/local/lib/python3.9/site-packages/openslide/lowlevel.py", line 84, in <module>
    _lib = cdll.LoadLibrary('libopenslide.so.0')
  File "/usr/local/lib/python3.9/ctypes/__init__.py", line 452, in LoadLibrary
    return self._dlltype(name)
  File "/usr/local/lib/python3.9/ctypes/__init__.py", line 374, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: libopenslide.so.0: cannot open shared object file: No such file or directory

그래서 둘 다 깔려있는 베이스 이미지를 찾아 활용하고 싶었는데, python 3.9.6에 깔려있던 이미지는 못 찾았다. openslide 는 파이썬 라이브러리 뿐만 아니라 os에 별도의 프로그램을 깔아주어야 활용이 가능함.

반응형