본문 바로가기
Python

Anaconda 처음 써보기

by 쿠리의일상 2023. 10. 20.

VSCode 로 python 작업을 하고 있었는데 아나콘다라는 것을 알게 되었다.

 

아나콘다(Anaconda ?)

주로 머신러닝, 데이터 분석에 사용되는 파이썬의 배포판으로 가상환경 구축에도 사용되는 프로그램이라고 한다. 내부적으로 conda 라는 환경/패키지 관리자가 존재하여 패키지를 설치하거나 가상환경을 관리해줄 수 있다.

기존의 프로젝트는 전역으로 pip 으로 패키지를 설치해줬었는데, 이는 여러 프로젝트에서 사용하게 될 때 각 프로젝트의 패키지의 의존성이나 버전을 맞출 때 문제가 생길 수 있다고 하여 각 프로젝트별로 패키지 관리가 필요함을 느꼈다... 이는 JS에서 node_modules 폴더로 각 패키지 관리를 해줄 수 있었던 것이 정말 편했던 것임을 뼈저리게 깨달았다.

 

여하튼 프로젝트별 패키지를 구분하고 관리해주기 위해 가상환경을 구축하기 위해 아나콘다를 사용했다.

물론 다른 IDE를 쓰거나 VSCode 에서도 가상환경 구축이 가능하다고는 하나, 처음 사용해보므로 유명한 프로그램을 쓰는 것이 맞다고 판단되어 개발환경을 구축하게 되었다.

 

 

기존에 python 이 있다면 깨끗하게 지워주고 시작해야 한다. 환경변수가 문제 되어 나중에 일이 좀 꼬일 수 있기 때문이다.

나는 이 글을 참고하여 파이썬을 일단 지워주었다. https://codest.tistory.com/2

 

아나콘다 다운받기 https://www.anaconda.com/download

나는 아나콘다를 다운 받으며 환경 변수와 관련된 메세지를 체크해주었다. 이 차이점은 매번 명령어를 입력해줄 때 아나콘다 명령어를 추가해주냐 안해주냐의 차이라니까 직접 서칭하며 공부한 다음 결정하길 바란다.

 

아나콘다의 좋은 점은 파이썬의 버전마저도 각 프로젝트마다 다르게 해줄 수 있던 점이었다. 관리는 복잡하겠지만..

아나콘다는 5GB 가량 하기 때문에 저장 공간을 꼭 확인해주자. 그리고 다운 받으면 자연스럽게 주피터 노트북도 다운 받아진다. 주피터의 파일 확장자는 .py 가 아닌 .ipynb 이다. 다른 메타정보가 추가되었기 때문이라던가. 여하튼 파이썬 파일을 다룰 때 .py 로 변환 작업이 필요하기 때문에 불편함을 느끼긴 했다.

 

일단 주로 사용되는 명령어는 아래와 같고, 추가로 필요한 건 직접 찾아보자! (서칭이 곧 공부다..)

conda create -n <가상환경명> 가상환경 새로 만들기
conda info -e  가상환경 목록
activate <가상환경명> 가상환경으로 이동
conda list  현재 지정된 가상환경에 설치된 패키지 목록
conda install <패키지명> 현재 지정된 가상환경에 패키지 설치
conda install -c conda-forge <패키지명> 현재 지정된 가상환경에 패키지를 강제 설치

 

 

그래도 VSCode 는 인터프리터 언어에 친화적인 IDE는 아니기 때문에 개발용으로 주피터 노트북을 많이 쓴다고 한다. 그 이유는 각 Cell(or 블록?) 별로 코드를 한줄씩 실행하기 때문이다. (데이터 분석쪽에서 특히나 효과적이라고 한다.)

아나콘다와 VSCode 를 연동하는 방법은 Ctrl+Shift+P 를 누른 다음,

Python: Select Interpreter 를 입력해주면 아나콘다로 설정해준 가상환경 목록을 확인해줄 수 있다.

 

나는 Windows 환경에서 Powershell을 커스텀하여 사용하고 있었는데 안타깝게도 아나콘다는 파워쉘에선 작동하지 않는다. 딱딱한 cmd 창을 사용해줘야 하며, VSCode 의 터미널에서 

CMD로 conda 커맨드가 잘 작동하는지 확인해주면 된다.

괄호 안에 가상환경 이름이 나타나면 성공적이다.

 

VSCode 말고 그냥 주피터 노트북을 사용하겠다고 한다면 

서버를 백그라운드에 틀어주면 자동으로 웹사이트에서 구동될 것이다 (localhost:8888/tree)

여기서도 터미널을 New 로 만들어서 서버 구동이 가능했다.

 

일단 더 써봐야 이해가 될 것 같다. 아직은 정보가 너무 부족하다.

'Python' 카테고리의 다른 글

I/O bound and CPU bound, 동시성  (0) 2024.03.12
pynetdicom 에러 핸들링 - Association Aborted  (0) 2023.10.16