LinuxTechnology

[Ubuntu 22.04] Python 완벽 개발 환경 구축 (Virtual Environment)

24views

Ubuntu 22.04 LTS에는 기본적으로 Python 3.10 버전이 설치되어 있습니다. 하지만, 리눅스 시스템 도구들도 이 Python을 공유해서 사용하기 때문에 절대로 시스템 Python 환경에 패키지를 함부로 설치(sudo pip install)해서는 안 됩니다. 시스템이 꼬일 수 있습니다.

따라서, 프로젝트마다 “독립된 가상 환경(Virtual Environment, venv)”을 만들어 사용하는 것이 현 Python 개발의 “표준(Standard)”입니다.


0. 환경 확인 및 필수 도구 설치

먼저 설치된 Python 버전을 확인하고, 패키지 관리자(pip)와 가상 환경 모듈(venv)을 설치합니다.

Bash

# 1. 현재 Python 버전 확인
python3 --version

# 2. 패키지 리스트 업데이트
sudo apt update

# 3. pip(패키지 관리자)와 venv(가상 환경) 모듈 설치 (필수!)
sudo apt install -y python3-pip python3-venv

1. 프로젝트 폴더 생성 및 가상 환경 구성

이제 개발할 프로젝트 폴더를 만들고, 그 안에서만 작동하는 ‘가상 Python 환경’을 만듭니다.

Step 1: 프로젝트 디렉터리 생성

Bash

# 웹 루트 또는 홈 디렉터리에 프로젝트 폴더를 생성하고 이동합니다.
mkdir ~/my_python_project
cd ~/my_python_project

Step 2: 가상 환경(venv) 생성

Bash

# 'venv'라는 이름의 가상 환경 폴더를 생성합니다.
python3 -m venv venv
  • 이 명령을 실행하면 현재 폴더에 venv/ 디렉터리가 생기며, 그 안에 독립적인 Python 실행 파일과 라이브러리가 복사됩니다.

Step 3: 가상 환경 활성화 (가장 중요)

이 명령어를 입력해야만 시스템 Python이 아닌, 방금 만든 가상 Python을 사용하게 됩니다.

Bash

# 가상 환경을 켭니다.
source venv/bin/activate

[확인 방법]

터미널 프롬프트 맨 앞에 (venv) 라는 표시가 생겼다면 성공입니다.

  • 예: (venv) user@server:~/my_python_project$

2. 패키지 설치 및 관리 (pip)

가상 환경이 켜진 상태((venv) 표시 확인)에서 패키지를 설치합니다. 이때는 sudo를 쓰지 않습니다.

Step 1: 패키지 설치 예시

Bash

# 최신 pip로 업그레이드 (권장)
pip install --upgrade pip

# 필요한 라이브러리 설치 (예: Flask, Requests)
pip install flask requests

Step 2: 의존성 파일 생성 (requirements.txt)

협업하거나 다른 서버에 배포할 때를 위해 설치된 목록을 저장합니다.

Bash

# 현재 설치된 패키지 목록을 파일로 저장합니다.
pip freeze > requirements.txt
  • 나중에 이 파일로 똑같은 환경을 설치할 때는 pip install -r requirements.txt를 사용합니다.

3. 실행 테스트 (Hello World)

간단한 파이썬 파일을 만들어 실행해 봅니다.

Bash

# main.py 파일 생성
echo 'print("Hello, Python Environment is Ready!")' > main.py

# 파이썬 실행
python main.py
  • 출력 결과: Hello, Python Environment is Ready!

4. 가상 환경 종료

작업이 끝났다면 가상 환경을 끕니다.

Bash

deactivate
  • 프롬프트 앞의 (venv) 표시가 사라집니다.

5. VS Code 연동 Tip (SFTP 사용 시) 💡

앞서 설정한 VS Code SFTP 환경에서 개발할 때 주의할 점입니다.

  1. venv 폴더 업로드 방지 (필수)
    • 서버에 생성한 venv 폴더는 용량이 크고 파일이 많습니다. VS Code가 이를 다운로드하거나 동기화하지 않도록 해야 합니다..vscode/sftp.json 파일에 ignore 설정을 추가하세요.

    JSON{ "name": "My Server", ... (기존 설정) ... "ignore": [ ".vscode", ".git", ".DS_Store", "venv", // <--- 여기 추가! "__pycache__" // <--- 여기 추가! ] }
  2. 터미널 사용
    • VS Code에서 Ctrl + ~ (물결)를 눌러 터미널을 열고, SSH로 서버에 접속한 뒤
      source venv/bin/activate를 입력하여 실행하면 됩니다.

요약 (Copy & Paste 용)

새로운 프로젝트를 시작할 때마다 아래 순서만 기억하세요.

Bash

# 1. 프로젝트 폴더 생성 및 이동
mkdir my_project && cd my_project

# 2. 가상 환경 생성
python3 -m venv venv

# 3. 가상 환경 활성화
source venv/bin/activate

# 4. (작업 시작) 필요한 패키지 설치
pip install <패키지명>

# 5. 실행
python main.py