728x90
konlpy는 자바 라이브러리를 내부적으로 실행시키기 때문에 파이썬 코드라도 자바환경이 갖춰져야한다. 하지만 플라스크 배포 시에는 어떻게 해야할 지 방법이 잘 나와있지 않아서 여기저기 자료를 찾아보고 해결한 결과를 정리해둔다.
이 글을 읽기 앞서서, 플라스크의 구조는 [이 방식]으로 구성했다.
1. requirements.txt
pip로 이 두 가지를 설치해야한다.
JPype1 == 1.4.0
konlpy == 0.6.0
2. main.py
내 플라스크 api일부이다. 이것처럼 konlpy의 라이브러리를 쓰기전에 jpype.attachThreadToJVM()를 호출해야한다.
3. Dockerfile
자바랑 파이썬 같이 있는 이미지를 불러와야한다. openjdk:slim을 사용하면 자바와 파이썬이 동시에 있는 이미지를 사용할 수 있다.
# java and python
FROM openjdk:slim
COPY --from=python:3.7 / /
WORKDIR /usr/src/app
COPY . .
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
EXPOSE 5000
CMD ["python", "./waitress_server.py"]
'기록 > CI&CD' 카테고리의 다른 글
[Flask] 플라스크 배포(feat.Docker) (0) | 2022.10.12 |
---|---|
[Jenkins] gradle 설정 (0) | 2022.10.06 |
[AWS] 같은 브랜치에 있는 프론트엔드, 백엔드 자동배포하기 (6) Jenkinsfile, vue & springboot Dockerfile 작성 (0) | 2022.08.18 |
[AWS] 같은 브랜치에 있는 프론트엔드, 백엔드 자동배포하기 (5) jenkins 컨테이너 내부에 docker 설치 및 Webhook 설정 (0) | 2022.08.17 |
[AWS] 같은 브랜치에 있는 프론트엔드, 백엔드 자동배포하기 (4) Jenkins 설치 및 설정 (0) | 2022.08.13 |
댓글