아나콘다 가상환경을 생성하고 삭제하는 등 관리하는 conda 명령에 대해 알아보자.
아나콘다의 경우 하나의 플랫폼에 각각의 독립된 환경을 구축한다는 것이 가장 큰 매력이다. 하나의 개발환경만 사용하는 경우를 제외하고, 다양한 개발환경을 사용하는 경우 환경 셋업 만으로 짜증 나는 경우가 있다. 또, 여러명이 개발시 가끔 빌드 에러나 환경문제가 왕왕 발생한다. "내 껀 문제가 없는데..." 라는 말을 하고 환경을 비교해보느라 또 시간을 소요하기도 한다.
만약 서버를 하나 가지고 있고 서버를 통해서만 빌드 하는 경우에는 아나콘다는 유용해보인다. 물론 서로 다른 각기 환경에서는 아나콘다 보다는, 개발 환경을 공유 할 수 있는 docker 등을 사용하는게 더 유용해 보인다. 어찌 되었든 이런 플랫폼은 계속 나오고 있고 자신의 개발 환경에 맞게 사용하면 될 것 같다.
conda 지원 명령은 다음과 같으며, 실제 사용하는 기준으로 다시 알아보도록 한다.
명령 | 설명 | 사용 예 |
create | 새로운 conda 환경 생성 | conda create --name name python=3.5 |
list | conda 환경에 설치된 package list | conda list |
remove | conda 환경 삭제 | conda remove --name name --all |
install | conda환경에 package 설치 | conda install PACKAGENAME |
uninstall | package 제거 | conda uninstall PACKAGENAME |
info | 현재 활성화된 conda 정보 확인 | conda info -a |
package | low-level conda package 환경 (experimental) | |
init | shell interaction을 위한 conda 초기화 (experimental) | |
config | Modify configuration value in .condarc. This is modeled after the git config command. Write to the user .condarc file (/home/ubuntu/,condarc) by default. | conda config --show |
search | 특정 package 검색 | conda search PACKAGENAME |
update | 특정 package 업데이트 | conda update PACKAGENAME |
upgrade | update 명령과 동일 | conda upgrade PACKAGENAME |
clean | 사용하지 않는 packages 나 cache 제거 | conda clean --all |
compare | conda 환경간 설치된 패키지 비교 | |
help | hep | conda --help |
run | Run an excutable in a conda enviroments (experimental) |
Conda를 설치하고, 가상환경을 생성, 패키지 설치, 가상 환경 삭제하는 명령에 대해 알아보도록 한다. 가장 많이 사용하는 경우이고, 그 외에는 사실 잘 모르겠다. 더 사용해봐야 알 수 있을 것 같다.
conda env list를 입력하면 현재 설정된 가상환경 리스트가 나온다. 설치 후 아무거도 하지 않은 상태이므로 base만 나오게 된다. base는 설치만 해도 나오는 것으로 conda root 이나 home이라고 보면 될 것 같다. base환경으로 진입하기 위해서는 'conda activate 가상환경이름' 을 이용한다.
하나 밖에 없으니 base를 선택해본다. 여러개가 있다면 사용하고자 하는 환경을 지정한다. 환경을 사용하고자 하면 activate이고, 나오고자 하면 deactivate 를 사용하면 된다. deactivate의 경우 deactivate만 입력 하면된다.
tensorflow 2.7 버전과 python 3.9 버전을 갖는 환경을 만들어보기로 한다. conda 생성시 설치할 패키지를 지정할 수도 있고, 아니면 환경만 설치한 이후에 conda install 명령으로 설치도 가능하다. 사용한 명령은 'conda create -n tensorflow_27_p39 python=3.9' 이다. 아래 화면 처럼 설치할 패키지 정보들도 표시된다.
설치후 conda env list를 확인해보면 base와 방금 생성한 tensorflow_27_p39가 보인다.
이전 정보를 복제해서 생성할 수 있다. 가상 환경 이름을 바꾸고 싶은 경우 (rename 명령은 없기에), 비교를 위해 특정 패키지의 버전만 변경하거나 추가해야 하는 경우 사용 할 수 있을 듯 하다. 이럴 경우 conda info --envs 명령을 통해 두 환경을 확인해 봐야 한다.
conda create --name myclone --clone myenv
remove명령으로 생성한 가상환경을 삭제할 수 있다. 이때에는 base로 돌아간다음에 제거를 해야 한다. 만약 해당 환경이 activation 되어 있는 상태에서 그 환경을 지우려면 아래와 같이 에러가 발생한다. 당연한 결과겠쥬?
conda install로 패키지를 설치할 수 있다. 버전도 지정할 수 있고, 여러개를 한꺼번에 설치도 가능하다. 여러개를 한꺼번에 설치 시에는 패키지 사이에 한 칸씩 띄워주기만 하면 된다. 삭제 (uninstall)도 되고, 업데이트 (update)도 된다. conda 환경에서는 conda를 이용해서 패키지를 설치하는 것이 PIP를 이용해서 설치하는 것보다 성능도 좋고, PATH 가 맞지 않아서 발생하는 여러 오류를 방지할 수 있다. 일단 conda로 설치 시도해보고, 에러가 발생하는 경우에만 PIP로 설치하자. install 다음에 오는 '-c conda-forge'는 conda-forge라는 채널을 통해서 다운 받겠다라는 의미이다. 채널이 여러 개 있는듯? 버전명 기입 시 지정하는 수식도 아래 있으니 참고하길 바란다.
Constraint type | Specification | Result |
Fuzzy | numpy=1.11 | 1.11.0, 1.11.1, 1.11.2, 1.11.18 etc. |
Exact | numpy==1.11 | 1.11.0 |
Greater than or equal to | "numpy>=1.11" | 1.11.0 or higher |
higher OR | "numpy=1.11.1|1.11.3" | 1.11.1, 1.11.3 |
AND | "numpy>=1.8,<2" | 1.8, 1.9, not 2.0 |
여러 패키지를 설치하다가 가끔 버전을 확인해야 하는 경우에 사용 할 수 있다. 너무 많다면 export해서 txt 파일로 저장할 수도 있다. 추후 이 파일로 두 가상환경간 설치 패키지 정보 비교도 가능한 것 같고, 이 리스트를 input으로 새로운 package를 생성할 수도 있는 것 같다.
conda list --explicit > bio-env.txt
conda env create --file bio-env.txt
현재 활성화된 가상환경의 정보를 볼 수 있다.
추가로 사용하면서 알게된 내용은 업데이트 할 예정이다.
conda 환경에서 tensorflow에서 GPU 인식 못하는 문제 (1) | 2022.01.18 |
---|---|
AlreadyExistsError: Another metric with the same name already exists.오류 (0) | 2022.01.18 |
AWS EC2 g4dn (2xlarge) 정보와 한계점 (1) | 2021.12.31 |
jupyter notebook 폰트 변경하기 (8) | 2021.12.24 |
window10에서 아나콘다 설치하기 (0) | 2021.08.16 |
댓글 영역