Python virtual environment 사용법 정리 (venv and Anaconda)

똑딱뚝딱·2023년 7월 20일
0

Python virtual environment

여러 project를 진행할 때, 각 project 마다 필요한 라이브러리의 version이 다름
→ version에 따른 라이브러리 간의 dependency 발생
→ conflict error를 막기 위해 project마다 별도의 환경 세팅

  • python 표준 library인 venv
  • 많이 사용되는 anaconda

Windows10 기준으로 작성
** mac은 추후에 추가 기록 예정


venv

python에서 기본으로 제공하는 표준 라이브러리
→ 따로 설치가 필요 없음

create

system version으로 설치

$ python -m venv [env_name]
ex) python -m venv env_tmp

특정 python version을 함께 설치

$ py -[version] -m venv [evn_name]
ex) py -3.10 -m venv env_tmp
python3.10 -m venv myenv 

activate

Windows powershell

  • powershell로 실행했을 때 권한 문제 발생할 수 있음
  • Get-ExecutionPolicy로 권한 확인 후 변경 (추후 기록)
$ env_dir\Scripts\Activate.ps1

Windows cmd

$ env_dir\Scripts\activate.bat

mac / Linux

$ (source) env_dir/bin/activate

delete

directory 삭제하는 것과 같음

$ rm -option [env name]
ex) rm -r env_tmp

deactivate

$ (env) deactivate

install and uninstall

pip로 install and uninstall

$ pip install [package]
$ pip install [package]=version (특정 버전)

$ pip uninstall [package]

update

$ pip install [package] --upgrade [package]
$ pip install (--upgrade) package==version

requirements

현재 가상환경에 설치된 라이브러리 목록 확인 및 list 저장

설치 목록 확인
$ pip list

설치된 라이브러리 버전 목록 저장
$ pip freeze > requirements.txt

사전에 저장해둔 requirements 설치
$ pip install -r requirements.txt

kernel 추가 및 삭제

jupyter notebook(lab)에 생성한 가상환경 kernel 추가
jupyter notebook(lab)을 설치할 때 ipykernel이 함께 설치
만약 설치되지 않았다면 ipykernel 설치

$ python -m ipykernel install

kernel 추가

$ pip install ipykernel --user --name [가상환경 이름] --display-name '[jupyter에서 보여질 kernel 이름]'

kernel 목록 확인

$ jupyter kernelspec list

kernel 삭제

$ jupyter kernelspec uninstall [kernel 이름]


Anaconda

Python 기반의 데이터 분석 등에 사용되는 라이브러리를 모아놓은 플랫폼
가상환경과 라이브러리를 효율적으로 관리할 수 있음
→ project의 개발 환경 관리에 용이

그러나,

  • 무거움
  • 최신 버전 라이브러리 지원하지 않는 것이 다수 존재
  • 간혹 지원하지 않는 라이브러리도 존재 (다른 채널에도)


anaconda 관련

anaconda version 확인

$ conda --version

anaconda update

$ conda update conda

create

$ conda create -n(--name) [env_name]
ex) conda create -n env

혹은 가상환경을 생성할 때, python version을 지정하여 설치

$ conda create -n [env_name] python=version
ex) conda create -n env python=3.10

activate / deactivate

activate
$ conda activate [env_name]
ex) conda activate env

deactivate
$ conda deactivate

env 목록 확인

현재 생성되어 있는 가상환경의 목록 확인
둘 중 편한 것으로 사용하면 됨

$ conda env list
$ conda info --envs

delete

$ conda env remove -n [env_name]
ex) conda env remove -n env

--all 옵션
: 가상환경에 설치된 모든 라이브러리들을 깨끗하게 삭제할 지울 수 있음

$ conda env remove -n [env_name] --all

install / uninstall / update

$ conda install [package]
$ conda install package=version (특정 버전)
ex) conda install numpy=1.20

$ conda uninstall/remove [package]

#$ conda update [package]

만약 현재 가상환경이 아닌 다른 가상환경에 설치하고 싶은 경우

$ conda install -n [설치하려는 env_name] [package]

copy

anaconda에는 가상환경을 rename하는 방법이 따로 존재하지는 않음
→ 기존 가상환경 copy & new name 설정

$ conda create --name(-n) [new_env_name] --clone [old_env_name]

0개의 댓글