우리는 프로그램을 짜고 배포합니다.
아나콘다(anaconda3)을 우리가 설치하고 사용한다고 했을 때
수많은 라이브러리 패키지들이 포함되어 있는 상태로 설치되어진다. 만약에 포함되어진 라이브러리가 없다면 추가로 설치해서 사용하면 프로그램은 잘 돌아갑니다.
그런데 문제는 배포하면서 발생합니다.
우리가 프로그램을 짜면서 설치했던 수많은 패키지들은 배포하려는 서버에는 전혀 깔려있지 않으며...
설령 무슨 패키지를 설치했는지 하나 하나 이름을 기록했다 하더라도 버전을 몰라서 설치했다 하더라도 버전이 달라서 프로그램이 작동하지 않을 수 있습니다. 그리고 시간이 지나면서 패키지들이 업데이트되는데, 하나 하나 업데이트하다 보면 서로 의존적인 패키지들 사이에 버전이 맞지 않아 호환이 되지 않는 경우들도 생길 수 있습니다.
그래서 우리는 venv 가상환경을 구성하여 그곳에서 프로그램을 짭니다.
venv의 역할
1. 하나의 PC에서 프로젝트 별로 독립된 파이썬 실행 환경(runtime/interpreter)을 사용할 수 있도록 해줍니다.
2. 가상 환경을 사용하지 않으면 PC 내의 모든 프로젝트에서 운영체제에 설치된 하나의 파이썬 런타임을 사용하게 되고 동일한 위치에 외부 패키지를 설치하고 서로 공유하게 된다. 이럴 경우, 하나의 프로젝트에서 설치한 패키지의 버전이 다른 프로젝트에서 설치한 동일 패키지의 다른 버전과 충동을 일으킬 소지가 생기기 때문에, 프로젝트 별로 독립된 가상 환경을 구성하여 사용하는 것이 권장됩니다.
3. 가상환경내에서 설치한 패키지들은 설치를 하는 동시에 requirements.txt에 자동으로 [패키지명==버전]으로 저장됩니다. 패키지 관리가 용이하다고 할 수 있습니다.
다음 글에선 venv를 실제로 설치하는 과정을 보여드리겠습니다.
'개발 > Python' 카테고리의 다른 글
[자료구조] A* 알고리즘 (1) | 2024.01.30 |
---|---|
[python] Lambda 함수: 간결한 함수 정의와 활용 (1) | 2024.01.21 |
[Python] 구글 뉴스 크롤링하기 (2) | 2024.01.04 |
[Python] 윈도우 venv 가상환경 설치하기 (1) | 2023.01.25 |