# 3에서는 가상 환경 구축에 대한 내용을 배운다.
새로 배우는 내용이 많아 위 글에서 이어나가도록 하겠다.
# 3의 주요 내용 > 가상 환경 구축 및 패키지 관리
프로젝트의 기본 workflow
- 컴퓨터의 나머지 부분에 영향을 주지 않는 가상 환경 구축
- 가상 환경을 한 단계씩 실행하며 필요한 Python 버전 및 라이브러리를 지정
- 프로그램 개발
가상 환경 구축
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에 프로젝트를 공유할 때, 패키지 목록을 체크인 해야 한다.
pip freeze > requirements.txt
를 호출.- .gitignore 파일을 만들고 어플리케이션 코드와 requirements.txt를 체크인
- 코드를 GitHub에 체크인
프로젝트 사용
- GitHub에서 프로젝트를 가져온다.
- 가상환경을 만들고 활성화
pip install -r requirements.txt
를 사용하여 프로젝트를 복원. 이 명령은 requirements.txt를 찾아 해당 파일에 나열된 패키지를 가져오고 설치한다.- 앱 실행
기타
이 외에도 종속성 관리, 패키지 업데이트 등에 대해 다룬다.
최신 버전 설치
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
'Python > Basic' 카테고리의 다른 글
Microsoft Training 시스템 이용하기 (3) (0) | 2023.11.14 |
---|---|
Microsoft Training 시스템 이용하기 (2) (0) | 2023.11.13 |
Microsoft Training 시스템 이용하기 (1) (0) | 2023.11.13 |
Jupyter Notebook 을 통한 Python Tutorial 파일 with Github (0) | 2023.09.14 |
Anaconda를 통한 Python 설치 및 Jupyter Notebook 실행 (0) | 2023.09.14 |