본문 바로가기
Python/Basic

# 3. Python에서 프로젝트 만들기 및 관리

by 한PU 2023. 11. 13.
728x90
반응형

# 3에서는 가상 환경 구축에 대한 내용을 배운다.

Microsoft Training 시스템 이용하기

새로 배우는 내용이 많아 위 글에서 이어나가도록 하겠다.


# 3의 주요 내용 > 가상 환경 구축 및 패키지 관리

프로젝트의 기본 workflow

  1. 컴퓨터의 나머지 부분에 영향을 주지 않는 가상 환경 구축
  2. 가상 환경을 한 단계씩 실행하며 필요한 Python 버전 및 라이브러리를 지정
  3. 프로그램 개발

가상 환경 구축

venv 모듈을 통해 가상환경을 만든다.

python -m venv env

env 디렉토리와 프로그램 파일은 분리하는 것이 좋다. 예) 프로그램 파일 디렉토리 : src

/env
/src
  program.py

가상 환경 활성화

activate 스크립트를 호출하여 활성화한다.

(env) -> path/to/project

이제 가상 환경 내에 진입했다. 모든 작업은 컴퓨터와 격리된 상태에서 실행된다.

패키지 설치

pip 명령어를 사용하여 패키지를 설치한다.
자세한 내용 : PyPi 웹 사이트

패키지를 설치하려면 env 디렉토리에서 pip install 명령어를 실행한다.

pip install python-dateutil

env*의 *lib 디렉토리에서 설치된 패키지를 확인할 수 있다.

pip freeze 명령어를 통해 가상 환경에 설치된 패키지를 확인할 수 있다.

python-dateutil==2.8.2
six==1.16.0

deactivate를 호출하여 가상 환경에서 빠져나올 수 있다. 전체 환경에서 pip freeze를 입력하면 가상환경과의 차이를 확인할 수 있다.

패키지를 설치하는 다양한 방법들

  • 컴퓨터에 저장된 파일 집합을 원본으로 사용하여 설치:
  • cd <to where the package is on your machine> python3 -m pip install .
  • 버전 제어를 제공하는 GitHub 레파지토리에서 설치:
  • git+https://github.com/your-repo.git
  • 압축된 보관 파일에서 설치:
  • python3 -m pip install package.tar.gz

설치된 패키지 사용

src 디렉토리에 app.py 생성
dateutil을 호출할 코드를 추가한다.

from datetime import *
from dateutil.relativedelta import *
now = datetime.now()
print(now)

now = now + relativedelta(months=1, weeks=1, hour=10)

print(now)

dateutil에 관한 추가 정보 : 추가 정보 링크

앱을 실행한다.

python app.py

출력은 다음과 비슷하다. (코드의 작동 방식과 비교해보면, relativedelta의 의미를 공부할 수 있다.)

2023-11-13 13:24:27.449974
2023-12-20 10:24:27.449974

프로젝트 공유

GitHub에 프로젝트를 공유할 때, 패키지 목록을 체크인 해야 한다.

  1. pip freeze > requirements.txt 를 호출.
  2. .gitignore 파일을 만들고 어플리케이션 코드와 requirements.txt를 체크인
  3. 코드를 GitHub에 체크인

프로젝트 사용

  1. GitHub에서 프로젝트를 가져온다.
  2. 가상환경을 만들고 활성화
  3. pip install -r requirements.txt를 사용하여 프로젝트를 복원. 이 명령은 requirements.txt를 찾아 해당 파일에 나열된 패키지를 가져오고 설치한다.
  4. 앱 실행

기타

이 외에도 종속성 관리, 패키지 업데이트 등에 대해 다룬다.

최신 버전 설치

pip install python-dateutil==1.4

패키지 업그레이드

pip install <name of package> --upgrade

업데이트 전략

(주요).(부).(패치) 전략

(주요)는 Major 라고 한다. 이 번호가 증가하면 많은 항목이 변경된 것이다.
(부)는 Minor 라고 한다. 이 번호가 변경되면 기능이 추가된 것이다.
(패치)는 Patch이다. 이 번호가 증가하면 버그가 수정되었을 가능성이 높다.

패키지 삭제

pip uninstall python-dateutil

해당 목록의 모든 패키지 제거

pip uninstall -r requirements.txt -y

 

https://learn.microsoft.com/api/achievements/share/ko-kr/07599371/BLUE74MD?sharingId=7F48E7B9D18A9AE3

 

Python에서 프로젝트 만들기 및 관리

 

learn.microsoft.com

 

728x90
반응형