server에 python 배포 가이드

Sooin Yoon·2025년 6월 25일

문제점 시작 : 내가 만든 파이썬 파일을 회사 서버에 배포하기

  1. 서버 환경 구축 :
    A100 서버에 SSH로 접속하여 기본 환경을 설정합니다. 서버는 대부분 Ubuntu나 CentOS 같은 Linux 배포판을 사용하므로, 패키지 관리자를 통해 필요한 도구들을 설치해야 합니다.
# SSH 접속
ssh your_username@server_ip

# 근데 서버 접속을 했는데 나머지 패키지는 이미 설정이 된것으로 보임
  1. poetry 설치 및 설정
    : 기본적으로 poetry를 사용할 때는 pyproject.toml 파일과 poetry.lock이 있고 install을 하면 그 안에 내용들 [dependencies] 라고 하는것 같다.
poetry --version

poetry install
  1. 파일 위치에 대한 설명
    VS Code에서 작업한 파일들은 여러분의 Windows 로컬 컴퓨터에 저장되어 있습니다. VS Code는 단순히 이 파일들을 열어서 편집할 수 있게 해주는 도구일 뿐입니다. 예를 들어:

streamlit_app.py (메인 애플리케이션)
pyproject.toml (Poetry 설정 파일)
poetry.lock (의존성 잠금 파일)
기타 Python 소스 파일들
이 파일들을 서버로 전송해야 서버에서 실행할 수 있습니다.

여러 방법 중
VS Code Remote SSH (가장 편리, 추천)

  1. VS Code에서 "Remote - SSH" 확장 프로그램 설치

  2. Ctrl + Shift + P → "Remote-SSH: Open SSH Configuration File" 실행

  3. SSH config 파일에 다음 추가:

    Host a100-server
        HostName 
        Port 
        User
        IdentityFile 
  4. trl + Shift + P → "Remote-SSH: Connect to Host" → "a100-server" 선택

  5. 새 VS Code 창이 열리면서 서버에 직접 연결됩니다

  6. 로컬 파일을 복사해서 서버 VS Code에 붙여넣기

  7. Streamlit 앱 구현

poetry run streamlit run streamlit_app.py --server.port=8501 --server.address=0.0.0.0

5.(현재 한국어 형태소 분석기를 테스트중이라서)
Mecab설치하기
: 다른 형태소 분석기는 코드만 치면 패키지가 알아서 다운되는데 mecab같은 경우는 실제로 다운을 해줘야함 근데 운영체제마다 다운해야되는게 달라서 매우 곤란함
(그래도 리눅스에서는 코드만으로 설치 가능, 윈도우는 파일을 다운해야함)
#다음은 리눅스에서 여러 소스

cd /tmp

# 시도 1: Konlpy 공식 GitHub (가장 신뢰할 만함)
wget https://github.com/konlpy/mecab-ko/releases/download/v0.996-ko-0.9.2/mecab-ko-0.996-ko-0.9.2.tar.gz
wget https://github.com/konlpy/mecab-ko-dic/releases/download/v2.1.1-20180720/mecab-ko-dic-2.1.1-20180720.tar.gz

# 시도 2: Pusnow GitHub 미러
wget https://github.com/Pusnow/mecab-ko/releases/download/release-0.9.2-msvc-3/mecab-ko-0.996-ko-0.9.2.tar.gz
wget https://github.com/Pusnow/mecab-ko-dic/releases/download/mecab-ko-dic-2.1.1-20180720/mecab-ko-dic-2.1.1-20180720.tar.gz

# 파일이 다운로드되었는지 확인
ls -la *.tar.gz
설치 진행 (공통)
파일이 /tmp에 있다면 (wget 성공 또는 업로드 완료), 다음 명령어로 설치를 진행합니다:

MeCab-ko 엔진 설치:

Copycd /tmp

# 압축 해제
tar -zxvf mecab-ko-0.996-ko-0.9.2.tar.gz
cd mecab-ko-0.996-ko-0.9.2

# 컴파일 및 설치
./configure --with-charset=utf8
make
sudo make install
mecab-ko-dic 사전 설치:

Copycd /tmp

# 압축 해제
tar -zxvf mecab-ko-dic-2.1.1-20180720.tar.gz
cd mecab-ko-dic-2.1.1-20180720

# 컴파일 및 설치
./configure --with-mecab-config=/usr/local/bin/mecab-config
make
sudo make install

# 라이브러리 등록
sudo ldconfig
Python 코드에서 사용
Copyimport MeCab

# 사전 경로 명시 (권장)
mecab = MeCab.Tagger('-d /usr/local/lib/mecab/dic/mecab-ko-dic')

# 또는 기본 설정 사용
# mecab = MeCab.Tagger()

text = "안녕하세요 형태소 분석 테스트입니다"
result = mecab.parse(text)
print(result)

다음 단계
MeCab 설치가 완료되면:

Streamlit 앱 실행: poetry run streamlit run streamlit_app.py --server.port=8501 --server.address=0.0.0.0
웹 브라우저 접속: http://121.78.147.172:8501
형태소 분석 테스트: 웹 인터페이스에서 한국어 텍스트 입력하여 분석 결과 확인

0개의 댓글