윈도우 Python 가상환경 세팅

하쮸·7일 전

Error, Why, What, How

목록 보기
69/70

1. Virtual Environment(가상 환경)이란?

  • 프로그래밍 언어(Ex. Python)로 여러 프로젝트를 진행하다 보면 프로젝트마다 필요로 하는 라이브러리(Ex. numpy, rasterio 등) 버전이 달라서 충돌이 일어남.
    • 이때 가상 환경은 각 프로젝트마다 독립된 작업공간(실행 환경)을 만들어주는 기능임.
    • 즉, 프로젝트 A, 프로젝트 B의 방을 분리해서 서로 라이브러리 버전이 꼬이지 않게 보호하는 역할을 함.

Ex

프로젝트 A
- Python 3.6
- numpy 1.19.5
- rasterio 1.2.10

프로젝트 B
- Python 3.11
- numpy 2.x
- 최신 opencv
프로젝트 A는 오래된 numpy가 필요함
프로젝트 B는 최신 numpy가 필요함
→ 같은 PC에서 버전 충돌 발생
  • 이때 가상 환경을 쓰면 각 프로젝트가 자기만의 패키지 공간을 가지게 됨.

2. 윈도우에서 가상 환경 세팅(VS Code)

  • 가장 기본적으로 내장된 venv를 사용했음.

VS Code 하단 터미널을 열고 가상환경 폴더(.venv)를 생성

py -m venv .venv

생성한 가상환경을 활성화(입장)

.venv\Scripts\activate

2-1. 요약.

# 1. 최신 파이썬이 잘 잡히는지 확인
py --version

# 2. 최신 파이썬으로 가상환경 생성
py -m venv .venv

# 3. 가상환경 활성화
.venv\Scripts\activate

# 4. 라이브러리 재설치
pip install opencv-python numpy rasterio scikit-image
  • 바로 아래 (.venv)가 바로 현재 가상 환경이 활성화 되어 있다는 뜻임.
    • 3. 가상환경 활성화가 성공하면 명령어 앞에 (.venv)가 붙음.
(.venv) C:\juwon\2026\geometric_correction>pip install opencv-python numpy rasterio scikit-image                                                                                          
WARNING: Cache entry deserialization failed, entry ignored                                   
WARNING: Cache entry deserialization failed, entry ignored                                   
Collecting opencv-python                                                                     
  Using cached opencv_python-4.13.0.92-cp37-abi3-win_amd64.whl.metadata (20 kB)              
WARNING: Cache entry deserialization failed, entry ignored                                   
Collecting numpy                                                                             
  Downloading numpy-2.4.6-cp314-cp314-win_amd64.whl.metadata (6.6 kB)                        
WARNING: Cache entry deserialization failed, entry ignored                                   
Collecting rasterio                                                                          
  Downloading rasterio-1.5.0-cp314-cp314-win_amd64.whl.metadata (8.9 kB)                     
WARNING: Cache entry deserialization failed, entry ignored                                   
Collecting scikit-image                                                                      
  Downloading scikit_image-0.26.0-cp314-cp314-win_amd64.whl.metadata (15 kB)                 
WARNING: Cache entry deserialization failed, entry ignored                                   
Collecting affine (from rasterio)                                                            
  Using cached affine-2.4.0-py3-none-any.whl.metadata (4.0 kB)                               
WARNING: Cache entry deserialization failed, entry ignored                                   
Collecting attrs (from rasterio)                                                             
  Using cached attrs-26.1.0-py3-none-any.whl.metadata (8.8 kB)                               
WARNING: Cache entry deserialization failed, entry ignored                                   
Collecting certifi (from rasterio)                                                           
  Downloading certifi-2026.5.20-py3-none-any.whl.metadata (2.5 kB)                           
WARNING: Cache entry deserialization failed, entry ignored                                   
Collecting click!=8.2.*,>=4.0 (from rasterio)                                                
  Downloading click-8.4.1-py3-none-any.whl.metadata (2.6 kB)                                 
WARNING: Cache entry deserialization failed, entry ignored                                   
Collecting cligj>=0.5 (from rasterio)                                                        
  Using cached cligj-0.7.2-py3-none-any.whl.metadata (5.0 kB)                                
WARNING: Cache entry deserialization failed, entry ignored                                   
Collecting pyparsing (from rasterio)                                                         
  Using cached pyparsing-3.3.2-py3-none-any.whl.metadata (5.8 kB)                            
WARNING: Cache entry deserialization failed, entry ignored                                   
Collecting scipy>=1.11.4 (from scikit-image)                                                 
  Downloading scipy-1.17.1-cp314-cp314-win_amd64.whl.metadata (60 kB)
WARNING: Cache entry deserialization failed, entry ignored
Collecting networkx>=3.0 (from scikit-image)
  Using cached networkx-3.6.1-py3-none-any.whl.metadata (6.8 kB)
WARNING: Cache entry deserialization failed, entry ignored
Collecting pillow>=10.1 (from scikit-image)
  Downloading pillow-12.2.0-cp314-cp314-win_amd64.whl.metadata (9.0 kB)
WARNING: Cache entry deserialization failed, entry ignored
Collecting imageio!=2.35.0,>=2.33 (from scikit-image)
  Using cached imageio-2.37.3-py3-none-any.whl.metadata (9.7 kB)
WARNING: Cache entry deserialization failed, entry ignored
Collecting tifffile>=2022.8.12 (from scikit-image)
  Downloading tifffile-2026.5.15-py3-none-any.whl.metadata (32 kB)
WARNING: Cache entry deserialization failed, entry ignored
Collecting packaging>=21 (from scikit-image)
  Downloading packaging-26.2-py3-none-any.whl.metadata (3.5 kB)
WARNING: Cache entry deserialization failed, entry ignored
Collecting lazy-loader>=0.4 (from scikit-image)
  Using cached lazy_loader-0.5-py3-none-any.whl.metadata (5.9 kB)
WARNING: Cache entry deserialization failed, entry ignored
Collecting colorama (from click!=8.2.*,>=4.0->rasterio)
  Using cached colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)
Using cached opencv_python-4.13.0.92-cp37-abi3-win_amd64.whl (40.2 MB)
Downloading numpy-2.4.6-cp314-cp314-win_amd64.whl (12.5 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.5/12.5 MB 26.0 MB/s  0:00:00
Downloading rasterio-1.5.0-cp314-cp314-win_amd64.whl (30.9 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 30.9/30.9 MB 23.2 MB/s  0:00:01
Downloading scikit_image-0.26.0-cp314-cp314-win_amd64.whl (12.0 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.0/12.0 MB 27.5 MB/s  0:00:00
Downloading click-8.4.1-py3-none-any.whl (116 kB)
Using cached cligj-0.7.2-py3-none-any.whl (7.1 kB)
Using cached imageio-2.37.3-py3-none-any.whl (317 kB)
Using cached lazy_loader-0.5-py3-none-any.whl (8.0 kB)
Using cached networkx-3.6.1-py3-none-any.whl (2.1 MB)
Downloading packaging-26.2-py3-none-any.whl (100 kB)
Downloading pillow-12.2.0-cp314-cp314-win_amd64.whl (7.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.2/7.2 MB 26.0 MB/s  0:00:00
Downloading scipy-1.17.1-cp314-cp314-win_amd64.whl (37.3 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 37.3/37.3 MB 27.1 MB/s  0:00:01
Downloading tifffile-2026.5.15-py3-none-any.whl (266 kB)
Using cached affine-2.4.0-py3-none-any.whl (15 kB)
Using cached attrs-26.1.0-py3-none-any.whl (67 kB)
Downloading certifi-2026.5.20-py3-none-any.whl (134 kB)
Using cached colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Using cached pyparsing-3.3.2-py3-none-any.whl (122 kB)
Installing collected packages: pyparsing, pillow, packaging, numpy, networkx, colorama, certifi, attrs, affine, tifffile, scipy, opencv-python, lazy-loader, imageio, click, scikit-image, cligj, rasterio
Successfully installed affine-2.4.0 attrs-26.1.0 certifi-2026.5.20 click-8.4.1 cligj-0.7.2 colorama-0.4.6 imageio-2.37.3 lazy-loader-0.5 networkx-3.6.1 numpy-2.4.6 opencv-python-4.13.0.92 packaging-26.2 pillow-12.2.0 pyparsing-3.3.2 rasterio-1.5.0 scikit-image-0.26.0 scipy-1.17.1 tifffile-2026.5.15

(.venv) C:\juwon\2026\geometric_correction>
profile
Every cloud has a silver lining.

0개의 댓글