[Python] 모듈과 패키지
import 문 이해
기본 import 방법
# 모듈 전체 가져오기
import math
print(math.pi) # 3.141592...
# 특정 함수/변수만 가져오기
from random import randint
number = randint(1, 10)
# 별칭 사용하기
import pandas as pd
import numpy as np
# 여러 항목 가져오기
from datetime import datetime, timedelta
패키지 구조 이해
my_package/
├── __init__.py
├── module1.py
└── module2.py
# module1.py에서 module2 가져오기
from .module2 import some_function # 상대 경로
from my_package.module2 import some_function # 절대 경로
자주 쓰는 표준 라이브러리
1. datetime
from datetime import datetime, timedelta
# 현재 시간
now = datetime.now()
print(f"현재 시간: {now}")
# 날짜 계산
tomorrow = now + timedelta(days=1)
print(f"내일: {tomorrow}")
2. os와 sys
import os
import sys
# 현재 작업 디렉토리
current_dir = os.getcwd()
# 환경 변수 접근
path = os.environ.get('PATH')
# 파이썬 버전 확인
python_version = sys.version
3. json
import json
# JSON 데이터 다루기
data = {
'name': 'John',
'age': 30,
'city': 'New York'
}
# JSON 문자열로 변환
json_string = json.dumps(data)
# JSON 파싱
parsed_data = json.loads(json_string)
4. random
import random
# 난수 생성
random_number = random.randint(1, 100)
# 리스트 섞기
my_list = [1, 2, 3, 4, 5]
random.shuffle(my_list)
# 무작위 선택
choice = random.choice(my_list)
pip 사용법
기본 명령어
# 패키지 설치
pip install package_name
# 특정 버전 설치
pip install package_name==1.0.0
# 패키지 업그레이드
pip install --upgrade package_name
# 설치된 패키지 목록 보기
pip list
# 패키지 제거
pip uninstall package_name
requirements.txt 활용
# 현재 환경의 패키지 목록 저장
pip freeze > requirements.txt
# requirements.txt의 패키지 설치
pip install -r requirements.txt
가상환경 설정
virtualenv 사용
# virtualenv 설치
pip install virtualenv
# 가상환경 생성
virtualenv myenv
# 가상환경 활성화
# Windows
myenv\Scripts\activate
# macOS/Linux
source myenv/bin/activate
# 가상환경 비활성화
deactivate
venv 사용 (Python 3)
# 가상환경 생성
python -m venv myenv
# 가상환경 활성화
# Windows
myenv\Scripts\activate
# macOS/Linux
source myenv/bin/activate
conda 환경 관리
# 새 환경 생성
conda create --name myenv python=3.8
# 환경 활성화
conda activate myenv
# 패키지 설치
conda install package_name
# 환경 내보내기
conda env export > environment.yml
실전 프로젝트 구조 예시
my_project/
├── .gitignore
├── README.md
├── requirements.txt
├── setup.py
├── myproject/
│ ├── __init__.py
│ ├── config.py
│ ├── core.py
│ └── utils.py
└── tests/
├── __init__.py
└── test_core.py
.gitignore에 가상환경 제외
echo ".venv/" >> .gitignore
3. **패키지 버전 관리**
```text
# requirements.txt 예시
requests>=2.25.1,<3.0.0
pandas~=1.3.0
numpy==1.21.0
'개발&프로그래밍' 카테고리의 다른 글
[IntelliJ] 인텔리제이 메모리 늘리기(메모리 설정) (0) | 2024.11.28 |
---|---|
[Python] 기초 알고리즘 문제 풀이 (0) | 2024.11.27 |
[Python] if문과 조건문 (0) | 2024.11.26 |
[Python] for문과 while문 실전 활용 (0) | 2024.11.23 |
[Python] 에러와 예외 처리 기초 (1) | 2024.11.22 |
댓글