가상 개발환경이란
가상환경은 쉽게말하면, 나만의 독립된 python 개발환경을 다시만드는 것을 의미한다.
개발과정에서 python package library 간 버전 호환문제를 해결하기 위해 만든 것을 해결할 수 있다. 예를 들어, 딥러닝 패키지를 사용하고자하는데 어떤 프로젝트는 tensorflow1, 또다른 프로젝트는 tensorflow2, 혹은 pytorch등 유사한 기능을 하지만 다른 패키지를 설치해야할 때가 있다. 이때, 호환성문제가 발생될 수 있다. 이런 문제를 해결할 수는 있겠지만, 컴퓨터공학전공이 아닌 나와 같은 사람은 패키지간 호환문제를 해결하는데 수많은 시간을 낭비하여, 삭제후 재설치라는 선택지를 많이 고를 것 이다.
이때, 가상환경이 없다면 python 전체를 삭제 및 재설치 해야한다. 이 말은 즉 기존에 잘 되었던 라이브러리들 또한 재설치가 필요하다는 말이다. 하지만 이 과정에서 항상 우리는 원인모를 문제로 기존에 잘 되던것도 안되고 아주 난감하고 스트레스를 유발하는 상황을 종종 경험할 수 있다. 가상환경은 번거로운 일을 없앨 수 있다. 원본은 그대로 둔채 별도의 환경을 새로 만드는 것이므로 해당 가상환경만 삭제하고 재설치만 하면 된다.
가상환경을 만들기 위해서는 크게 2가지 방법이 있다.
- 아나콘다를 이용한 방법 2. venv를 이용한 방법
아나콘다를 이용한 방법은 기본적으로 사용하는 일부 package를 함께 설치해주는 도구다.
venv는 아나콘다와 동일한 기능으로 볼 수 있지만, 보다 심플하고 가벼운 가상환경을 만들어 주어 내가 원하지 않는 package는 설치해주지 않는다.
오히려 내가 원하는 것만 설치해주는 venv 방식이 더 활용하기 좋아서 본 글에서는 venv방식을 활용한 가상환경 설치방법을 기술하고자 한다. venv 설치는 terminal창을 활용하는 방법도 있지만, 본 글에서는 vscode를 활용해서 작업 폴더 내 별도의 가상환경을 만들어 보는 것을 진행하고자 한다.
특정작업폴더에 가상환경을 설치하기 위해선 먼저 가상환경을 설치할 작업폴더를 설정해야한다.
아래 그림에서 open Folder를 클릭하여 본인이 작업하고싶은 폴더를 생성 및 열어보자.
본 글에서는 virtual_test라는 폴더를 만들었으며, 해당 폴더에 아무런 파일이 없기 때문에 폴더 내 리스트에 아무것도 없는 것을 볼 수 있다.
자 이제 가상환경을 만들어보자.
“ctrl+shift+p” 단축키 혹은 view 탭에서 command palette를 선택 후 select interpreter를 클릭하자.
select interpreter 는 코드를 실행할 환경을 선택하게 되는데, 현재 python 3.12버전이 설치되어있기 때문에 해당 버전이 recommended의 환경으로 제안되고 있다.
하지만, 우리는 가상환경(Virtual Environment)에서 코드를 실행할 것 이기때문에 “Create Virtual Environment”를 클릭한다.
이후 우리는 Venv를 이용한 가상환경을 만들 것이므로 Venv버튼을 클릭한다.
그럼 가상환경에 설치할 python 버전을 선택하게 되는데, 현재 desktop에 기본적으로 설치된 python이 3.12 버전밖에없어 하나의 선택지만 제공이 되고있다.
향후, 다른 버전의 python이 필요하면, python 홈페이지에서 필요버전을 활용하여 설치하는 방법 또는 “virtualenv” 라이브러리를 활용하여 필요버전을 설치할 수도 있다. 이를 활용한 방법은 나중에 다른글로 기술하도록 하겠다.
설치를 시작하면 우측하단에 Creating venv라는 작업창이 보이고,
설치가 완료되면, 기존 폴더 내 .venv라는 가상환경이 설치된 것을 볼 수 있다.
이제 새로운 script를 만들어서 한번 실행해보자.
새로운 파일만들기 버튼을 클릭하고 쥬피터 노트북확장자인 .ipynb를 넣어 쥬피터 노트북파일을 하나 만들어보자.
test file을 실행시키기 위해서 print(”Hello”)를 실행시키기 위해서는 kernel을 연결시켜줘야한다.
따라서 우측에 있는 Select Kernel 버튼을 클릭하자.
그럼 script를 구동할 python 환경을 선택해야하고 환경 선택 창에서는 방금 생성한 .venv의 가상환경과 desktop에 설치된 default python이 있다.
이떄 우리는 가상환경을 이용하여 코드를 실행할 것이기때문에 .venv를 실행해보자.
그러면 기존 Select kernel 부분이 .venv로 변하는 것을 볼 수 있다.
이는 해당 코드는 .venv라는 이름을 가진 가상환경에서 실행되는 것을 의미한다.
이후 실행을 시키면 다음과 같은 메세지가 나온다. 이는 jupyter notebook을 실행시키기 위해서 ipykernel package가 필요하다는 내용으로 install을 해주면 된다.(이전 글에서는 default환경에 ipykernel을 설치한 것이고 이번엔 가상환경에 설치하는 것이므로 설치가 되어야한다.)
새로운 가상환경을 만들고 설치된 package 확인을 위해 pip list를 해보면 다음과 같이 일부의 package만 설치된 것을 볼 수 있다.
따라서, 데이터 분석 시 자주쓰는 pandas 패키지를 import 해보면 아래와 같이 모듈이 없다고 나온다.
이를 해결하기 위해서는 코드 창에 pip install pandas로 적으면 바로 설치가 된다.
이와 같이 필요한 패키지가 있으면 pip install 패키지명을 적으면 대부분이 설치되므로 데이터 분석 시 필요패키지가 있으면 다음과 같이 설치하면 된다. 이때 패키지 별 공식 홈페이지에서 제시하고 있는 pip방식의 설치방식을 준수하는 것이 가장 적합하며, 일부패키지의 경우 기존에 설치된 라이브러리와 버전호환문제가 되는 경우가 있다.
이때는 호환성 문제가 생기는 패키지를 요구하는 버전에 맞게 재설치를 해주면 된다.
이로써 가상환경 설치 및 구현를 완료하였으며, 이상 글을 마무리하고자 한다.
본 글에서는 가상환경을 활용한 기본적인 프로그래밍을 시작할 수 있을만한 수준만 기술하였다.
가상환경 이름 설정, 특정버전설정, 설치된 패키지 export 및 import 등 추가로 필요한 부분은 추후 기술하도록한다.
'Study > Programming' 카테고리의 다른 글
VScode로 Python Jupyter Notebook 시작하기-1 (0) | 2024.05.28 |
---|---|
[Jupyter Notebook] VS Code에서 사용하기 (0) | 2022.02.28 |
[Python] 아나콘다 가상환경 구성 및 주피터 노트북 커널 연결 (5) | 2021.08.25 |
[Python] 아나콘다를 활용한 Python 설치 및 활용방안 (1) | 2021.08.24 |
[Python] 폴더 및 하위 폴더를 접근하여 특정확장자 파일찾기 (0) | 2021.02.04 |
댓글