파이썬 가상환경 설정


프로젝트를 진행하면 항상 골머리를 앓게 하는것이 있다.

바로 외부 패키지/라이브러리를 사용할때 항목들을 관리해 주는 것이다.

버전을 관리해 주기도해야하고, 프로젝트에 패키지 디펜던시가 명확히 표기되어있어야 한다.

다른 프로젝트에서는 xcode -> cacapod, node-> npm 등을 사용하여 해당 라이브러리를 관리하고있다.

파이썬은 어떻게 해야할까?

해답은 파이썬 가상환경 설정이다.


VENV

python3 에선 가상환경 설정을 친절히 도와준다

	python3 -m venv envCaly

-m (module-name) 을 통해 envCaly라는 가상환경을 만든다.

이렇게 만들게 되면 현재 디렉토리에 envCaly라는 폴더가 생기게된다.

1. 가상환경 접속하기

이제 가상환경에 접속하고 패키지들을 인스톨해보자.

아래 코드로 가상환경에 접속한다.

source envCaly/bin/activate

접속하면 터미널 창 앞에 (envCaly)라는 문구가 추가되있을 것이다.

가상환경에 접속하였으니

필요한 패키지를 설치한다

pip3 install flask

예를들어 flask를 설치해보았다.

flask 예제 파일을 만들어서 런해보자.

app.py

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

아무 문제없이 실행이 잘 될것이다.

2. 가상환경 빠져나가기
deactive

위 한줄로 가상환경을 빠져나갈 것이다.

빠져나가서 다시 flask 서버를 실행시킨다면 분명 패키지가 설치되어있지 않았다는 에러가 날것이다.

당연히 우리가 가상환경에서 패키지를 설치했기에 발생하는 에러이다.

마치며

파이썬 가상환경을 설정을 알아보았다.

실제 프로젝트 공유를 위해선

가상 환경에서

pip3 freeze > requiremnets.txt

을 통해 패키지를 리스트업시키고

requirements.txt 를 공유한다.

받은 다른 사용자는

자신의 가상환경에서 pip3 install -r requirements.txt 를 통해 손쉽게 패키지를 설치 할 수 있다.