2020년~ : python 2, numpy가 있는 아나콘다 가상환경 만들기
2020년 이후 numpy에서는 python 2 버전을 지원하지 않는다.
따라서 pip install numpy 같은 명령어로 numpy를 설치할 수가 없다.
이미 python 2.7과 numpy가 설치된 아나콘다 가상환경이 있을 때
이 환경을 복사하여 새 아나콘다 가상환경을 만드는 법을 소개하겠다.
1. conda 명령어를 이용한 아나콘다 가상환경 복사
$ conda create -n <new_env_name> --clone <existing_env_name> 명령어를 이용하여
기존의 아나콘다 가상환경을 복사한다.
그리고 conda activate 명령어를 실행하여 새로 만들어진 가상환경을 활성화한다.
$ conda create -n py27_new --clone py27
$ conda activate py27_new
2. numpy를 제외한 나머지 패키지 삭제
새로 만들어진 py27_new 가상환경에서
numpy를 제외한 나머지 패키지는 삭제하려고 한다.
일일이 나머지 패키지를 삭제하는 것은 번거로우므로
requirements.txt 파일을 이용해 삭제할 수 있다.
먼저 pip freeze 명령어를 통해
현재 환경의 패키지 목록이 담긴 requirements.txt 파일을 생성한다.
$ pip freeze >> requirements.txt
텍스트 에디터(메모장 등)에서 requirements.txt 파일을 열어서
numpy 버전이 적힌 줄 앞에만 주석처리(#)를 해준다.
# numpy=X.X.X
수정된 requirements.txt 파일을 이용해 pip uninstall 명령어를 반복 실행한다.
매우 중요한 사항은 새로 만든 가상환경을 conda activate 명령어로 활성화하는 것이다.
이것을 깜박하면 base 환경에서 설치된 패키지들이 모조리 삭제되는 참사가 일어날 수 있다.
$ conda activate py27_new
$ pip uninstall -r requirements.txt -y
3. 필요한 패키지들을 설치 ( + 새로운 requirement_new.txt 파일을 통해 주석, 빈 줄 건너뛰고 설치)
이제 새로 만든 아나콘다 가상환경에 필요한 패키지들을 설치할 수 있다.
pip install 명령어를 이용할 수 있다.
만약 설치하려는 패키지들에 대한 새로운 requirement_new.txt 파일이 있다면
아래와 같은 명령어를 통해 한 줄의 명령어로 설치를 진행할 수 있다.
$ cat requirement_new.txt | cut -f1 -d"#" | sed '/^\s*$/d' | xargs -n 1 pip install