python 버전별 패키지 관리 (ft. venv, scoop)
Conda 없이 파이썬 버전 관리하기 (feat. Scoop)
최근 사내 보안 정책이나 특정 환경 이슈로 인해 **Anaconda(Conda)**나 virtualenv 같은 외부 툴을 사용할 수 없는 상황이 되었다. 오직 파이썬 내장 모듈인 .venv만 사용해야 하는데, 문제는 프로젝트마다 요구하는 파이썬 버전이 제각각이라는 점이다.
이 난관을 해결하기 위해 윈도우 패키지 매니저인 Scoop을 활용해 버전별 파이썬을 설치하고, 각 프로젝트에 맞는 가상환경을 구축한 과정을 정리해 둔다.
1. 파이썬 버전별 설치 (Scoop)
Scoop을 이용하면 레지스트리를 꼬지 않고 깔끔하게 여러 버전의 파이썬을 설치할 수 있다. 설치 명령어는 python 뒤에 버전 숫자를 붙이되, 점(.)을 생략하면 된다.
Bash
# Python 3.10 설치
scoop install python310
# Python 3.6 설치
scoop install python36
설치가 완료되면 터미널에서 python310 또는 python36이라고 입력했을 때 해당 버전의 인터프리터가 실행된다.
2. 버전별 가상환경 생성 (.venv)
이제 프로젝트 폴더로 이동해서 가상환경을 생성한다. 기존에는 python -m venv .venv라고 쳤겠지만, 지금은 시스템에 여러 버전이 깔려 있으므로 명시적으로 실행 파일명(python310, python36 등)을 지정해야 한다.
Bash
# Python 3.10 기반 가상환경 생성
python310 -m venv .venv
# Python 3.6 기반 가상환경 생성
python36 -m venv .venv
보통 가상환경 이름은 .venv를 많이 사용한다.
3. 가상환경 실행 및 확인
가상환경을 활성화(Activate)하는 방법은 기존과 동일하다. 생성된 .venv 폴더 안의 스크립트를 실행하면 된다.
예시 1) s1 프로젝트 (Python 3.6 필요)
PowerShell
PS C:\Users\vividian\Projects\s1> .\.venv\Scripts\activate
# 활성화 확인 및 버전 체크
(.venv) PS C:\Users\vividian\Projects\s1> python --version
Python 3.6.8
예시 2) f1 프로젝트 (Python 3.10 필요)
PowerShell
PS C:\Users\vividian\Projects\f1> .\.venv\Scripts\activate
# 활성화 확인 및 버전 체크
(.venv) PS C:\Users\vividian\Projects\f1> python --version
Python 3.10.11
요약
-
Scoop으로 필요한 파이썬 버전을 각각 설치한다. (
scoop install python3xx) -
프로젝트 폴더에서 해당 버전 명령어로 venv를 만든다. (
python3xx -m venv .venv) -
평소처럼
activate해서 사용한다.
Conda가 없어도 아주 쾌적하게 버전 관리가 가능하다.