OpenCV 비전 실무1장 · AI 비전과 OpenCV 개발환경12 / 22← 이전목차다음 →MetaContents

1장. AI 비전과 OpenCV 개발환경

가상환경 만들고 패키지 설치하기

이사한 집에 새 작업대를 들이고 도구를 주문하는 순서를 떠올려 봅시다. 작업대를 놓고, 그 앞에 서고, 도구를 주문하고, 배달 온 도구가 맞는지 확인합니다. 가상환경도 만들기, 켜기, 설치하기, 확인하기의 네 걸음입니다.

가상환경 만들기, 켜기, 설치하기, 확인하기의 네 단계를 화살표로 이은 흐름도

그림의 네 단계를 차례로 따라 합니다. 만들기는 과목마다 한 번, 켜기는 PowerShell 창을 열 때마다 한 번 합니다. 여기서 작업대를 놓는 일이 venv, 그 앞에 서는 일이 activate, 도구 주문이 pip install 입니다.

명령 따라 하기

PowerShell 에서 과목 폴더로 옮긴 뒤 한 줄씩 실행합니다. # 뒤는 설명이라 함께 붙여 넣어도 됩니다.

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 = 설치된 패키지와 버전을 보여 준다
명령과 옵션원래 말뜻
cdchange directory작업 폴더를 옮긴다
python -m venv .venvmodule, virtual environmentvenv 모듈을 실행해 .venv 폴더에 가상환경을 만든다
Activate.ps1activate(켜다), PowerShell 스크립트이 창에서 가상환경의 파이썬을 쓰게 한다
pip installinstall(설치하다)패키지를 내려받아 설치한다
--upgradeupgrade(올리다)이미 있으면 최신판으로 바꾼다
-r requirements.txtrequirement file(필요한 것 목록 파일)파일에 적힌 패키지를 적힌 판 그대로 한꺼번에 설치한다
pip checkcheck(검사하다)서로 필요한 판이 맞지 않는 패키지가 있으면 알린다
pip listlist(목록)설치된 패키지 목록을 보인다

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 로 나오는 것이 정상입니다.
← 이전 절1장 · 개발환경의 짜임다음 절 →1장 · 설치 확인과 첫 코드