본문으로 건너뛰기
Linux · CLI 기초집LESSON 18

Python 가상환경·Node.js 프로젝트를 Linux에서 실행하기

난이도입문 → 초급
예상 시간30분
선수지식이전 강의

18강. Python 가상환경·Node.js 프로젝트를 Linux에서 실행하기

1. 이번 강의에서 해결할 문제

Windows에서 설치한 Python·Node 의존성을 WSL에서 그대로 사용하면 실행 파일 형식과 경로가 달라 오류가 납니다. WSL 안에서 런타임과 의존성을 다시 준비합니다.

2. 학습 목표

3. 핵심 개념

WSL은 별도 Linux 환경이므로 Windows의 가상환경이나 node_modules를 재사용하지 않습니다. Python은 .venv, Node.js는 package-lock.jsonnpm ci로 프로젝트 의존성을 분리합니다. 과정 최종 도구는 표준 라이브러리 Python을 사용하므로 외부 패키지 설치가 필수는 아닙니다.

4. 단계별 명령어와 예시

1. Ubuntu Bash(WSL)

실행 위치: 프로젝트 루트

대상: Python .venv 가상환경

Ubuntu Bash(WSL)
cd "$HOME/projects/game-log-analyzer"
python3 --version
python3 -m venv .venv
source .venv/bin/activate
python --version
python -c "import sys; print(sys.executable)"
deactivate

예상 결과: 프로젝트 안 Linux 가상환경이 생성되고 실행 경로가 .venv/bin/python으로 표시됩니다.

2. Ubuntu Bash(WSL)

실행 위치: Node 프로젝트가 있는 경우에만 해당 루트

대상: lockfile에 기록된 Node.js 의존성

Ubuntu Bash(WSL)
node --version
npm --version
# package-lock.json이 있는 프로젝트에서만 실행합니다.
if test -f package-lock.json; then npm ci; else echo "lockfile이 없어 npm ci를 건너뜁니다."; fi

예상 결과: 런타임 버전이 표시되고 lockfile이 있을 때만 깨끗한 의존성 설치가 진행됩니다.

5. 명령어가 동작하는 이유

python3 -m venv는 현재 Linux Python을 기준으로 격리된 실행 환경을 만들고 source가 현재 셸의 PATH를 임시 변경합니다. npm ci는 lockfile과 정확히 일치하는 의존성을 설치합니다.

6. 자주 하는 실수와 안전한 해결법

7. 직접 실습

8. 이해 점검 질문 3개

9. 핵심 요약

MINI QUIZ

Python 가상환경·Node.js 프로젝트를 Linux에서 실행하기 미니 퀴즈

선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.

0 / 2
  1. 문제 1“Python 가상환경·Node.js 프로젝트를 Linux에서 실행하기”의 역할과 의존성을 판단하는 올바른 기준은 무엇인가요?
  2. 문제 2“Python 가상환경·Node.js 프로젝트를 Linux에서 실행하기” 실습 중 ‘전역 sudo pip/npm으로 해결’ 상황을 발견했습니다. 본문과 일치하는 설명은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.

18강. Python 가상환경·Node.js 프로젝트를 Linux에서 실행하기 미완료 상태