삶을 위한 소프트웨어

전 세계 사람들의 삶의 질을 높일 수 있는 소프트웨어

Architecture for Software/Python

python -m 자주 사용하는 명령어

장선진 2025. 7. 28. 13:35

python -m은 Python 모듈을 스크립트로 자주 실행 하는 명령어

 

python -m <모듈명> [인자들]
  • -m : module의 약자
  • 모듈을 스크립트처럼 실행 할 수 있게 해줌
  • 모듈 내부의 __main__.py 파일이 실행됨

주요 내장 모듈들

1. http.server - 간단한 웹 서버

# 현재 디렉토리를 웹 서버로 실행
python -m http.server 8000

# 특정 디렉토리 지정
python -m http.server 8000 --directory /path/to/dir

 

 

2. venv - 가상 환경 생성

# 가상 환경 생성
python -m venv myenv

# 가상 환경 활성화
# Windows: myenv\Scripts\activate
# Unix: source myenv/bin/activate

 

 

3. pip - 패키지 관리

# 패키지 설치
python -m pip install package_name

# 패키지 업그레이드
python -m pip install --upgrade package_name

# 패키지 목록 보기
python -m pip list

 

 

4. unittest - 단위 테스트

# 모든 테스트 실행
python -m unittest discover

# 특정 테스트 실행
python -m unittest test_module.TestClass

# 상세 출력
python -m unittest -v test_module

 

 

5. json.tool - JSON 포맷팅

# JSON 파일 포맷팅
python -m json.tool data.json

# 표준 입력으로 JSON 처리
echo '{"name":"John","age":30}' | python -m json.tool

 

6. compileall - Python 파일 컴파일

# 모든 .py 파일을 .pyc로 컴파일
python -m compileall .

# 특정 디렉토리 컴파일
python -m compileall /path/to/project

 

 

7. py_compile - 단일 파일 컴파일

# 특정 파일 컴파일
python -m py_compile script.py

 

 

8. timeit - 코드 성능 측정

# 코드 실행 시간 측정
python -m timeit "'-'.join(str(n) for n in range(100))"

# 여러 줄 코드 테스트
python -m timeit -s "import math" "math.sqrt(2)"

 

 

9. cProfile - 프로파일링

# 스크립트 프로파일링
python -m cProfile script.py

# 결과를 파일로 저장
python -m cProfile -o profile.out script.py

 

 

10. pdb - 디버거

# 디버그 모드로 스크립트 실행
python -m pdb script.py

# 포스트모템 디버깅
python -m pdb -c continue script.py
 

 

python -m 은:

  • Python 모듈을 스크립트처럼 실행 하는 명령어
  • 내장 모듈 들을 편리하게 사용할 수 있음
  • 사용자 정의 모듈 도 실행 가능
  • sys.path 처리 방식이 일반 실행과 다름
  • 표준 라이브러리 의 많은 유용한 도구들을 활용 가능

이 명령어를 통해 CLI 도구 , 디버깅 도구 , 관리 도구 등을 쉽게 사용할 수 있습니다.

'Architecture for Software > Python' 카테고리의 다른 글

Pylance 란  (2) 2025.07.28
[Python] Pandas에 대해서  (0) 2024.03.21