만약 리눅스에서 아나콘다를 쓴다면 편하게 터미널에 명령어로 가상환경을 활성화하거나 비활성화 할 수 있다. 예를 들어 가상환경 이름이 venv라고 하면, conda activate '환경이름'으로 활성화하고, conda deactivate로 비활성화 한다. 이 때 가상환경을 활성화 할 때마다 특정 명령어를 실행하고, 그 가상환경을 비활성 할 때도 역시 특정 명령어를 실행하고 싶다면, 다음과 같은 방법을 따르면 된다.
콘다가 설치 된 디렉토리에서 해당 가상환경의 하위 디렉토리에 etc라는 것이 있다. 이 디렉토리의 하위 디렉토리로 conda/activate.d나 conda/deactivated.d를 만들어서 실행하고자 하는 명령어를 넣으면 된다. 이름에서 짐작할 수 있는 것 처럼 활성화 할 때 activate.d 내의 명령어가 자동 실행되고, 비활성화 할 때는 deactivate.d에 설정한 명령어가 자동실행된다.
그러면 여기서는 가상환경을 활성화 할 때, 이전 글( 아나콘다에서 가상환경 마다 환경변수 PATH 설정하기 )에서 예시로 들었던 것 처럼 환경변수를 설정하고, 가상환경을 비활성화 할 때 환경변수의 설정을 되돌리는 방법을 실습하기로 한다. 미니콘다를 쓴다면 가정하면,
1. 가상환경 활성화 할 때 명령어 자동 실행
~/miniconda/env/<가상환경이름>/etc/conda/activated./set_path.sh 를 만들고, 편집기로 열어서 아래와 같은 명령어를 넣는다. 아래 예시 명령어는 기존의 환경변수에 새로운 경로를 넣는 것을 뜻한다.
export PATH="$PATH:/home/this_user/ffmpeg6/bin/"
2. 가상환경을 비활성화 할 때 명령어 자동 실행
~/miniconda/env/<가상환경이름>/etc/conda/deactivated./unset_path.sh 를 만들고, 편집기로 열어서 아래와 같은 명령어를 넣는다. 아래 예시는 sed 명령어를 응용해서 환경변수에 설정해둔 특정 디렉토리에 해당하는 문자열을 제거하는 것이다.
export PATH="$(echo $PATH | sed 's/:\/home\/this_user\/ffmpeg6\/bin//g')"
이렇게 설정하면, 이전 글에서 소개한 방법으로 PATH를 세팅했을 때, 콘다 경고 문구가 발생할 수도 있는 현상(환경변수를 덮어쓰기로 세팅해서 경고 해줌)도 없고 깔끔하다.
참고. https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#activating-an-environment
'노트정리 > 파이썬 Python' 카테고리의 다른 글
리눅스에서 아나콘다 (anaconda) 무료 라이선스 (license) 자동 설치 스크립트 (1) | 2024.12.09 |
---|---|
허깅페이스 모델의 소스 코드 확인하기 (0) | 2024.12.03 |
파이썬(python)에서 엑셀 (excel) 수식 계산 정밀도 보존 방법 (0) | 2024.10.19 |
파이썬 (python) 프로젝트 사용 패키지 버전 추출 (requirments.txt 만들기) (1) | 2024.09.17 |
아나콘다(anaconda, miniconda)에서 가상환경 마다 환경변수 PATH 설정하기(리눅스) (0) | 2024.04.01 |
vscode에서 파이썬 독스트링(docstring) 보는 단축키 설정 방법 (0) | 2023.12.04 |
파이썬에서 움직이는 이미지(GIF) 저장하기 (0) | 2023.12.03 |
제프리 에이븐 저/송주경 역 (2019), 파이썬을 활용한 스파크 프로그래밍, 에이콘출판사. (0) | 2023.09.19 |