[Anaconda] 기본 명령어

Eugene CHOI·2021년 10월 17일
0

Anaconda

목록 보기
1/2
post-thumbnail

아나콘다 명령어를 다룬 포스트롤 보면 게시글을 너무 나누어 놓은 글이 많아서 직접 정리하여 사전처럼 사용하기 위하여 작성하게 되었습니다.

$가 붙은 줄은 명령줄을 의미하고, 없는 줄은 명령줄의 출력 행입니다.
명령어는 운영체제와 무관하게 동일합니다.


🌏 환경

현재 존재하는 환경 목록 확인

다음 명령어를 통하여 현재 anaconda가 생성한 환경 목록들을 볼 수 있습니다.

$ conda env list

현재 환경의 설치 된 패키지 확인

다음 명령어를 입력하면 현재 환경에 설치 된 패키지 목록을 볼 수 있습니다.

$ conda list

다른 환경의 설치 된 패키지 확인

다음 명령어를 입력하면 현재 활성화 되어 있는 환경 외에 특정 환경에 설치 된 패키지 목록을 볼 수 있습니다.
대부분의 다른 명령에도 -n 또는 --name을 입력하면 특정 환경을 선택할 수 있습니다.

$ conda list -n "환경이름"

새로운 환경 생성

다음 명령어를 통해 새로운 환경을 생성할 수 있습니다.

$ conda create -n "생성할_환경_이름"

이렇게 생성하면 내부가 완전히 비어 있는 환경이 생성됩니다.


특정 파이썬 버전을 포함하는 환경 생성

다음 명령어를 통해 특정 파이썬 버전이 포함 된 환경을 생성할 수 있습니다.

$ conda create -n "생성활_환경_이름" python="버전"

아래는 파이썬3.9를 포함하는 test라는 이름의 환경을 생성하는 예제입니다.

환경 삭제

다음 명령어로 존재하는 환겨을 삭제할 수 있습니다. 직접 디렉토리로 이동해서 환경 폴더를 지워도 가능하지만, 가능한 명령어를 사용하는 것을 추천합니다.

$ conda env remove -n "환경이름"

환경 활성화

다음 명령을 통하여 특정 이름의 환경을 활성화 합니다. 물론 -n 대신 --name이라고 입력하여도 같습니다.

$ conda activate -n "환경이름"

환경 비활성화

다음 명령을 통하여 특정 이름의 환경을 비활성화 합니다.

$ conda deactivate -n "환경이름"

💾 환경의 백업

Export - 환경을 yaml로 저장

다음 명령어로 현재 활성화 되어 있는 환경에 설치된 패키지 목록을 yaml 형식으로 현재 경로에 저장할 수 있습니다.

$ conda env export >> "파일이름".yaml

다음 명령어로 활성화 되어 있지 않은 다른 환경을 백업할 수 있습니다.

$ conda env export -n "환경이름" >> "파일이름".yaml

Import - 환경을 yaml에서 불러와서 생성

$ conda create -n "환경이름" -f "백업_yaml_파일이름"

아래 예제는 test2라는 이름으로 test_env.yaml 파일을 이용하여 test2라는 이름의 새 환경을 생성하는 예제입니다.

  • 만약 -n 아규먼트가 없으면 원래 환경의 이름으로 환경을 생성합니다.(yaml 파일에 경로와 이름이 포함되어 저장되어 있음.)
  • 아래 사진에서 보이는 유니코드 오류는 윈도우에서 파일을 CP949 인코딩으로 저장하면서 생기는 문제입니다. 환경 생성은 성공적으로 가능합니다.
  • 리눅스 환경에서 export한 환경을 윈도우에서 import 하거나 그 반대의 경우 모두 잘 작동하지 않습니다. OS마다 패키지 의존성이 다르기 때문입니다.

📦 패키지 관리

패키지 설치

다음 명령어로 현재 활성화 되어 있는 가상 환경에 패키지를 설치할 수 있습니다.

$ conda install "패키지이름"

여러개의 패키지를 한꺼번에 설치

패키지 이름을 여러개 공백으로 구분하여 이어 쓰면 모두 설치 가능합니다.

$ conda install "패키지이름1" "패키지이름2" ...

다른 환경에 패키지 설치

-n을 통하여 환경 이름을 명시하면 활성화 되지 않은 다른 환경에 패키지를 설치할 수 있습니다.

특정 채널에서 패키지 설치

아나콘다를 다루다보면 다음 사진처럼 분명 있다고 하는 패키지가 설치가 되지 않는 경우가 있습니다. 이는 기본 채널 외 다른 채널에 패키지가 존재하는 경우입니다.


그럴 땐 anaconda "패키지이름"으로 구글에 검색하면 Anaconda.org의 페이지가 뜹니다.


아래로 내려보면 conda install 명령어가 몇 개 나와 있습니다. 이 중에 하나를 실행시키면 설치를 할 수 있습니다.


conda install 시 -c argument를 사용하면 특정 채널을 명시하여 줄 수 있습니다. 웬만하면 conda-forge 채널에서 설치가 가능합니다.

$ conda install -c "채널이름" "패키지이름"

특정 패키지가 설치되어 있는지 확인

저는 수십개에서 많게는 백개까지의 패키지가 설치되어 있습니다. 이 중에서 어떤 패키지가 이미 설치되어 있는지 확인 하는 것은 매우 귀찮은 일입니다. 이 때 좋은 방법이 있습니다.

$ conda list | find "패키지이름"
  • | 기호는 엔터 위의 백슬래쉬 기호를 shift를 누르고 타이핑 하였을 때 나타나는 기호입니다.
  • 위의 명령어들과 다르게 여기서 패키지 이름은 큰따옴표로 둘러싸야 합니다.
  • 리눅스에서는 보통 grep 명령어로 해결합니다.
$ conda list | grep "패키지이름"

존재하는 패키지는 목록이 뜨고 존재하지 않는 패키지는 출력이 없습니다. 위 예제는 numpy를 검색했을 때 numpy, numpy-base가 설치된 것을 확인할 수 있고, matplot을 검색했을 때는 설치 된 패키지가 없는 것을 확인할 수 있습니다.

profile
Hi, my name is Eugene CHOI the Automotive MCU FW developer.

0개의 댓글