반응형
문제 상황
아나콘다를 설치하고 command 창에서는 conda 명령어가 동작하는데 script 내에서는 conda command를 찾을 수 없다는 에러가 나왔다.
test.sh: line 2: conda: command not found
문제 원인
conda 명령어는 bash function인데, shell 내에서는 해당 bash function에 대한 정보가 없기 때문에 발생하는 에러다.
서버에 로그인하면 .bashrc가 실행되는데 .bashrc에는 conda function에 대한 initialize가되어 커맨드창에서는 conda 함수를 사용할 수 있다.
아래는 .bashrc에 선언된 conda initialize 명령이다.
[...]
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/opt/conda/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/opt/conda/etc/profile.d/conda.sh" ]; then
. "/opt/conda/etc/profile.d/conda.sh"
else
export PATH="/opt/conda/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
해결 방법
개별 shell script에서는 conda function 정보가 없기 때문에 conda 함수를 사용하기 전 아래와 같이 선언해줘야 한다.
source /opt/anaconda/etc/profile.d/conda.sh
conda activate test
[...]
반응형
'서버 및 환경 > Utils' 카테고리의 다른 글
[conda] base 환경은 다른 가상환경 패키지에 모두 영향을 미친다! (0) | 2024.03.20 |
---|---|
[Docker] 컨테이너 내 pip 패키지 설치 시 RuntimeError 문제 (1) | 2024.02.28 |
[VSCode] Wating for server log... 반복되다 연결이 안되는 문제 (0) | 2024.02.20 |
[docker] 유저에게 도커 권한 주기 (0) | 2024.01.25 |
[docker] 우분투에 도커 설치하기 (1) | 2024.01.24 |