1장. AI 비전과 OpenCV 개발환경
가상환경 만들고 패키지 설치하기
이사한 집에 새 작업대를 들이고 도구를 주문하는 순서를 떠올려 봅시다. 작업대를 놓고, 그 앞에 서고, 도구를 주문하고, 배달 온 도구가 맞는지 확인합니다. 가상환경도 만들기, 켜기, 설치하기, 확인하기의 네 걸음입니다.
그림의 네 단계를 차례로 따라 합니다. 만들기는 과목마다 한 번, 켜기는 PowerShell 창을 열 때마다 한 번 합니다. 여기서 작업대를 놓는 일이 venv, 그 앞에 서는 일이 activate, 도구 주문이 pip install 입니다.
명령 따라 하기
PowerShell 에서 과목 폴더로 옮긴 뒤 한 줄씩 실행합니다. # 뒤는 설명이라 함께 붙여 넣어도 됩니다.
cd C:\workspace\opencv-class # cd = change directory, 과목 폴더로 옮긴다
python --version # 파이썬 버전 확인(3.12 이상이면 된다)
python -m venv .venv # -m = module, venv 모듈로 .venv 폴더에 가상환경을 만든다
.\.venv\Scripts\Activate.ps1 # 가상환경을 켠다. 줄 앞에 (.venv) 가 붙는다
python -m pip install --upgrade pip # --upgrade = 최신판으로 올린다. pip 자신을 먼저 올린다
python -m pip install -r requirements.txt # -r = requirement file, 과목 폴더의 목록대로 패키지를 설치한다
python -m pip check # check = 설치된 패키지끼리 판이 맞물리는지 검사한다
python -m pip list # list = 설치된 패키지와 버전을 보여 준다| 명령과 옵션 | 원래 말 | 뜻 |
|---|---|---|
cd | change directory | 작업 폴더를 옮긴다 |
python -m venv .venv | module, virtual environment | venv 모듈을 실행해 .venv 폴더에 가상환경을 만든다 |
Activate.ps1 | activate(켜다), PowerShell 스크립트 | 이 창에서 가상환경의 파이썬을 쓰게 한다 |
pip install | install(설치하다) | 패키지를 내려받아 설치한다 |
--upgrade | upgrade(올리다) | 이미 있으면 최신판으로 바꾼다 |
-r requirements.txt | requirement file(필요한 것 목록 파일) | 파일에 적힌 패키지를 적힌 판 그대로 한꺼번에 설치한다 |
pip check | check(검사하다) | 서로 필요한 판이 맞지 않는 패키지가 있으면 알린다 |
pip list | list(목록) | 설치된 패키지 목록을 보인다 |
requirements.txt 는 과목 폴더에 들어 있는 패키지 목록입니다. 장보기 목록에 상표와 용량까지 적어 두면 누가 사 와도 같은 물건이 오는 것처럼, 패키지 이름과 판(opencv-python==5.0.0.93)을 적어 두면 누가 설치해도 교안과 같은 판이 깔립니다. 내용은 환경설정에 있습니다.
python -m pip 처럼 앞에 python -m 을 붙이면, 지금 켜진 가상환경의 파이썬에 딸린 pip 을 확실히 씁니다. 그냥 pip 이라고 치면 다른 파이썬의 pip 이 불릴 때가 있습니다.
OpenCV 패키지는 하나만
pip 에는 OpenCV 패키지가 네 가지 있습니다. 한 가상환경에는 하나만 설치합니다. 둘을 함께 깔면 같은 cv2 를 서로 덮어써서 이상한 오류가 납니다.
| 패키지 | 들어 있는 것 | 언제 고르나 |
|---|---|---|
opencv-python | 기본 모듈 + 화면 창 | 이 과정(일반 PC) |
opencv-contrib-python | 기본 + 추가 모듈(contrib, contribution 기여) | 실험적인 추가 기능이 필요할 때 |
opencv-python-headless | 기본 모듈, 화면 창 없음 | 화면이 없는 서버 |
opencv-contrib-python-headless | 기본 + 추가, 화면 창 없음 | 화면이 없는 서버에서 추가 기능 |
headless 는 "머리(화면)가 없는"이라는 뜻입니다.
주의할 점
Activate.ps1에서 "스크립트를 실행할 수 없다"는 빨간 글이 나오면 Windows 의 실행 정책 때문입니다. 해결법은 환경설정의 "자주 나는 오류"에 있습니다.- 가상환경을 켜지 않고 설치하면 패키지가 원래 파이썬에 깔립니다. 줄 앞에
(.venv)가 보이는지 먼저 확인합니다. - PC 에 설치할 수 없다면 웹 브라우저에서 돌리는 구글 코랩으로도 이 과정을 따라갈 수 있습니다. 준비 순서와 달라지는 점은 환경설정의 "구글 코랩에서 실습하기" 에 있습니다. 코랩에서는 가상환경을 만들지 않으므로 실습 1의 "가상환경 안인가" 가 False 로 나오는 것이 정상입니다.