파이썬 가상환경 요약

Young·2022년 4월 19일
1

Python

목록 보기
1/1

가상환경 사용이유

파이썬 라이브러리 의존성 때문에 사용함. 각 패키지 버전 업데이트시 서로 충돌이 발생함.

vitualenv VS venv

현재 파이썬3에서 기본적으로 venv 가상환경 라이브러리를 제공함므로 그냥 venv를 사용함.

가상환경 생성 방법

터미널에서 가상환경을 생성할 폴더로 이동한후 터미널 명령어 $ python -m venv [가상환경이름] 를 입력한다.

$ /Users/song/coding/Project/>python -m venv [가상환경이름]

그러면 "Project" 폴더 안에 "가상환경이름"으로 하위 폴더가 생성된다.
실제 개발은 위의 "Project" 폴더 내에서 진행함.

팁! : 가상환경을 만들때 내가 설치했던 패키지들 그대로 시작하는 방법 명령어 뒤에 $ --system-site-packages 입력.

$ /Users/song/coding/Project/>python -m venv [가상환경이름] --system-site-packages

가상환경 진입하기 | 나가기

맥(Mac) 진입하기 : 프로젝트 폴더 안에서 $ [가상환경이름]/bin > source activate
윈도우(Windows) 진입하기 : 프로젝트 폴더 안에서 $ [가상환경이름]\Scripts\ > activate.bat
나가기 : 프로젝트 폴더 안에서 $ deactivate

가상환경 내에서 패키지(라이브러리) 설치 | 삭제

가상환경 내에서 패키지(라이브러리)를 설치하려면 가상환경을 활성화 한 상태에서 $ pip install 로 설치를 하면 된다.
삭제는 $ pip uninstall 로 하면 된다.

(가상환경이름) $ /Users/song/coding/Project/> pip install 패키지이름

패키지(라이브러리) 목록 관리

가상환경 안에 설치된 패키지(라이브러리)를 확인하는 명령어로는 가상환경 진입 상태에서 $ pip freeze$ pip list 가 있다.

$ pip list 는 패키지(라이브러리) 이름과 버전을 깔끔하게 출력한다.
그 패키지(라이브러리) 안에 자기 자신인 pip, setuptools 처럼 기본적으로 설치된 것들도 포함해서 출력해준다.
참고 : https://stackoverflow.com/questions/18966564/pip-freeze-vs-pip-list

가상환경 활성화 상태에서 $ pip freeze 라고 치면 설치된 패키지 이름 뒤에 버전이 붙어서 출력 된다.
requirements.txt 파일로 정리하고 싶다면 아래와 같이 해주면 된다.

(가상환경이름) $ /Users/song/coding/Project/> pip freeze > requirements.txt

그러면 프로젝트 폴더 안에 requirements.txt 라는 파일이 생성된다.
나중에 다른 가상환경에 이 목록을 똑같이 설치하거나 삭제할 때 유용하다.

다른 가상환경에 이 패키지(라이브러리)를 한번에 설치하려면 이 텍스트 파일을 새로운 프로젝트 폴더 안에 가져와서
$ pip install -r requirements.txt 라고 써주면 된다.

(가상환경이름) $ /Users/song/coding/new_Project/>pip install -r requirements.txt

반대로 requirements.txt 에 있는 목록의 패키지들을 일괄 삭제하는 것도 가능하다.
예를 들어 시스템 파이썬에 기본적으로 깔았던 전역 패키지(라이브러리)를 전부 삭제해버리고, 무조건 가상환경으로만 작업하려고 한다면 가상환경을 활성화 하지 않은 상태에서 터미널 창을 열고 requirements.txt 파일이 있는 위치에서 $ pip uninstall -r requirements.txt -y 라고 써주면 된다.
(뒤에 -y를 안 붙이면 패키지 하나하나 삭제할 때마다 Proceed (y/n)?라고 일일이 물어보기 때문에 -y를 붙여서 한번에 처리.)

가상환경 삭제

가상환경 안에 설치된 패키지(라이브러리)를 한번에 삭제하고 싶다면 생성한 가상환경 이름의 폴더를 휴지통(삭제)으로 보내면 끝이다.

vscode 에서 가상환경 경로 설정 방법

vscode 에서 작업시 터미널에서 매번 가상환경 폴더로 매번 이동해야 하는 번거로움을 해결하자.
터미널에 $ code ~/.zshrc 를 입력하면 .zshrc 파일이 열린다. 맨 하단에 아래 코드를 입력하자.

예: $ alias mysite='cd /Users/song/coding/Project/mysite;source /Users/song/coding/mysite/bin/activate'

$ alias [가상환경이름]='cd [작업할 프로젝트 경로];source [가상환경 설치 경로]'
이렇게 하면 터미널에서 가상환경이름만 치면 자동으로 작업중인 프로젝트 폴더로 이동되며 가상환경이 활성화 된다.

0개의 댓글