====== Anaconda 사용하기 ====== ===== Conda, Anaconda, Miniconda ===== [[https://docs.conda.io/en/latest/|Conda]]는 패키지 관리자의 일종이며 [[https://www.anaconda.com/|Anaconda]]는 python, R로 만들어진 과학 컴퓨팅 분야의 패키지 모음을 제공하는 배포판이다. Anaconda 설치 파일은 [[https://www.anaconda.com/download#downloads|이곳]]에서 각자의 시스템에 맞는 것을 골라서 사용하기 바란다. 라이선스와 가격 정책은 각자 알아보시길! Conda에서 말하는 환경(environment)이란 특정 애플리케이션과 이를 실행하는 데 필요한 다른 프로그램(보통 dependency라고 부름)을 한데 설치하여 필요한 때에만 활성화시켜 사용하게 만든 것을 말한다. 시스템에 어떤 conda environment가 설치되어 있는지, 그리고 특정 conda environment에 설치된 패키지가 무엇인지 확인하려면 다음과 같이 입력하라. $ conda info --envs conda environments: # base * /opt/anaconda2 antismash /opt/anaconda2/envs/antismash artemis /opt/anaconda2/envs/artemis gcc_49 /opt/anaconda2/envs/gcc_49 .. $ conda list # 현재 활성화된 환경에 설치된 패키지 목록 $ conda list pomoxis Channel이란 conda가 패키지를 찾는 외부 경로를 의미한다. 저장소라는 의미로 이해해도 좋다. [[https://bioconda.github.io/|Bioconda]]는 수많은 생명정보학 소프트웨어 패키지를 모아 놓은 채널에 해당한다. 설치용량을 최소한도로 유지하고 싶다면 무료 minimal installer인 [[https://docs.conda.io/en/latest/miniconda.html|Miniconda]]를 사용할 것을 추천한다. Anaconda와 Miniconda가 어떻게 다른지 궁금하다면 [[https://docs.conda.io/projects/conda/en/stable/user-guide/install/download.html|Downloading conda 웹문서]]를 참고하자. Anaconda 또는 Miniconda를 설치하고 초기 설정하는 방법은 다음의 내부 문서를 참고하라. * [[:setup_a_testing_server#mg-globos_011_1911_의_기본_환경_및_anaconda3_설치하기|실습용 서버에 프로그램 설치하기]] - 'mgGlobOS 0.11(1911)의 기본 환경 및 Anaconda3 설치하기' 섹션 * [[[[:kribbuntu-focal_2205#miniconda_및_실습용_프로그램_설치_bioconda_package|KRIBBuntu-focal_2205 distro 제작 및 재설치 과정]] - 'Miniconda 및 실습용 프로그램 설치' 섹션 ===== Mammba? ===== Conda를 대체하기 위해 등장한 mamba package manager가 요즘은 꽤 쓸만하다. [[https://blog.genoglobe.com/2022/07/mamba-metagenome-binning.html|[정해영의 블로그] 맘바(mamba)는 무엇인가? - Metagenome binning 관련 도구를 설치하다가 만난 새로운 세계]] ===== SSL-TSL HTTPS 접속에서 인증서 문제는 왜 발생하는가? ===== Anaconda를 설치한 뒤 필요한 conda package를 다운로드하려는데 다음과 같은 짜증스런 메시지를 접하는 경우가 발생할 수 있다. R 패키지 다운로드에서도 비슷한 일이 일어날 수 있다. Resolving ccb.jhu.edu... 128.220.233.141 Connecting to ccb.jhu.edu|128.220.233.141|:443... connected. ERROR: cannot verify ccb.jhu.edu's certificate, issued by ‘CN=Somansa Root CA,O=Somansa,C=KR’: Self-signed certificate encountered. 이는 웹프록시 서버를 사용하여 사내 전산망을 보호하는 경우 흔히 일어나는 상황으로서, 내 블로그에서도 여러 차례 다룬 문제이기도 하다. 웹프록시는 ‘https:%%//%%’(443 port)로 시작하는 주소의 서버와 데이터를 주고받는 과정에서 외부의 인증서를 자체 발급한 것(self-signed certificate)처럼 바꾸게 된다. Git나 conda, curl, wget, pip 등 외부의 서버에서 파일을 가져오는 프로그램의 경우 이러한 자체 인증서는 적합하지 않은 것으로 생각하여 접속을 거부한다. 이럴 때에는 CA bundle 파일을 ~/.cert 디렉토리에 복사하고 ~/.condarc 파일에서 ssl_verify 항목을 다음과 같이 설정해야 한다. ssl_verify: $HOME/.cert/Somansa_ROOT_CA.cer channels: - bioconda - conda-forge - defaults - r 따라서 Somansa_ROOT_CA.cer가 마치 공인된 CA bundle인 것처럼 만들어 주어야 한다. 윈도우 PC에서는 이 과정이 자동적으로 일어나거나 혹은 전산 관리자에 의해서 해결이 되므로 일반 사용자 수준에서는 이를 알아차리지 못한다. ==== 인증서 문제를 해결하는 방법(1) - 인증 절차 건너뛰기 ==== wget으로 파일을 받을 때에는 --no-check-certificate 옵션을 주도록 한다. R 패키지를 설치하려면 홈 디렉토리에 .Renviron 파일을 만든 다음 위에서 소개한 Somansa_ROOT_CA.cer 파일의 위치를 다음과 같이 지정하여 넣는다. CURL_CA_BUNDLE=.cert/Somansa_ROOT_CA.cer Git 명령어를 사용할 때 SSL verify 문제를 만난다면 모든 https repository를 연결할 때 SSL 검증을 하지 않게 만들거나, 혹은 특정 환경변수를 바꾸어서 이 문제를 회피할 수 있다([[https://www.lesstif.com/gitbook/git-https-repository-ssl-14090808.html|참고 사이트]]). ==== 인증서 문제를 해결하는 방법(2) - 인증서 추가 설치하기 ==== [[[[:ssl_인증서_문제의_해결_방법|리눅스에서 SSL 인증서 문제의 해결 방법(v0.93)]] - 이것은 KRIBB의 전산망 내에서 해결하는 방법이다.