Anaconda는 파이썬 배포판이다
Anaconda는 머신러닝, 패키지를 포함하고 있는 파이썬 배포판이다. 배포판은 보통 [리눅스 커널 + GNU 소프트웨어 + 기타 소프트웨어]로 구성된 리눅스 배포판을 의미한다. 파이썬 배포판은 [파이썬 인터프리터 + IDE + 기타 라이브러리]F로 구성된 것을 말한다. 파이썬 배포판을 이용하면 파이썬 인터프리터를 다운받은 후 따로 IDE를 설치하거나, 따로 필요한 라이브러리를 pip로 설치하는 귀찮음을 줄일수도 있다. Anaconda는 파이썬 인터프리터, 주요 라이브러리, Jupyter Notebook과 같은 개발환경 등을 가지고 있다.
(파이썬으로 코딩해서 프로그램을 만들려면 [1]인터프리터 [2]IDE [3]라이브러리 등이 필요하다)
Anaconda는 가상환경을 구축하기 편하다
가상환경이란 원하는 모듈들만(필요한 버전들만) 담을 수 있는 독립적인 작업 환경이다. 여러 프로젝트를 진행하면서 여러 모듈을 한곳에 계속 설치하다보면 버전 충돌 등의 문제가 발생할 수 있는데 프로젝트 단위로 가상환경을 구축해서 각각의 가상환경에 필요한 설치한다면 서로 다른 가상환경의 모듈들은 영향을 받지 않기 때문에 앞의 문제를 해결할 수 있다. 또한 프로젝트 단위로 가상환경을 구축하면 다른 컴퓨터, 서버에서도 수월하게 동일한 환경을 만들 수 있다. Anaconda는 내부에 conda라는 패키지 관리자 (가상환경 도구)를 가지고 있어 가상환경을 구축하기가 편하다.
Anaconda 설치하기
아나콘다 설치할 때 환경변수를 자동으로 설정해도록 체크하자! 환경변수를 설정하면 어디서든 conda, pip 명령어를 사용할 수 있다. 만약 체크하지 못했다면 내가 직접 anaconda3의 경로를 찾아서 아래와 같이 3개의 환경변수를 추가해주면 된다!
설치한 Anaconda 이용해서 코딩하기
(방법1) Anaconda Prompt에서 Jupyter Notebook(소스코드 편집기)을 들어가거나
(방법2) Anaconda Navigator에서 Jupyter Notebook을 선택해서 들어간다
Jupyter Notebook (소스코드 편집기)에서 Python으로 코딩한다
Anaconda로 가상환경 사용해보기
(Anaconda Prompt에서 명령어를 수행해도 되고, 그냥 터미널에서 명령어 수행해도 된다)
(1) 가상환경 생성
python 3.7버전으로 "test_envs"라는 이름의 가상환경을 생성한다
conda create -n test_envs python=3.7
(2) 생성된 가상환경 확인
(방법 1) 명령어로도 생성된 가상환경들을 확인할 수도 있고
conda info --envs
(방법 2) anaconda 설치 경로의 envs에서도 생성된 가상환경들을 확인할 수 있다
(3) 가상환경 활성화 & 비활성화
conda activate 가상환경이름
conda deaactivate
(4) 가상환경에 패키지 설치
가상환경을 활성화한 후 패키지를 설치한다
conda install 패키지이름
가상환경에 설치된 패키지들을 확인하다
conda list
가상환경에 활성화하지 않고도 패키지 설치 가능하다
conda install -n 가상환경이름 패키지이름
(5) 가상환경 삭제
conda remove -n 가상환경이름 --all
(6) 가상환경에 설치된 패키지 관리
가상환경을 활성화 한 후 해당 가상환경에 설치된 패키지 목록을 requirements.txt에 저장할 수 있다
pip freeze > requirements.txt
requirements.txt만 있으면 새로운 가상환경에서도 동일하게 환경을(동일하게 라이브러리들을 설정) 구축할 수 있다
pip install -r requirements.txt
가상환경에서 requirements.txt에 해당하는 패키지들을 삭제한다
pip uninstall -r requirements.txt
(requirements.txt는 User/user에 존재한다)
Anaconda는 머신러닝, 데이터 분석 관련 패키지가 기본적으로 포함되어 있고
가상환경을 구축해 독립적인 패키지 버전 관리하기 좋다
'보지마세요' 카테고리의 다른 글
문자열 비교하기 (C++) (0) | 2022.07.24 |
---|---|
공백 없는 입력 받기 (C++) (0) | 2022.07.24 |
IP 주소와 NAT (0) | 2022.06.22 |
[구현] 프로그래머스 2020 KAKAO : 문자열 압축 (0) | 2022.06.20 |
[구현] 프로그래머스 2017 팁스다운 : 짝지어 없애기 (0) | 2022.06.20 |