티스토리 뷰

 

conda 가상환경에서 라이브러리를 설치했을 때, 어딘가 설정이 잘못되어서 가상환경 하위 폴더가 아니라 서버의 로컬 폴더에 설치되었다.

따라서 가상환경마다 라이브러리를 다른 버전으로 쓸 수가 없어서 가상환경을 쓰는 의미가 없었다.

가상환경을 제대로 사용하기 위해 이를 해결해보자.

 


 

문제 확인하기

 

$PATH

 

환경변수를 출력해보니 다음과 같이 출력되었다.

'-bash: /home/사용자명/.local/bin: /home/사용자명/anaconda3/envs/가상환경명/bin: /home/사용자명/anaconda3/condabin: /usr/local/sbin: /usr/local/bin:/usr/sbin: /usr/bin:/sbin:/bin:/usr/games: /usr/local/games:/snap/bin:'

원래 정상이라면 첫번째에 '/home/사용자명/anaconda3/envs/가상환경명/bin'이 나와야 하는데 나의 경우 두번째 순서로 설정이 되어 있다.

 

which python

정확히 기억은 안나지만 '/home/사용자명/.local' 하위 폴더 경로로 출력이 되었던 것 같다. 확실한 건 anaconda3 하위 폴더는 아니었다.

설정이 정상적으로 되어 있다면, 가상환경을 활성화한 상태에서 출력 결과가 '/home/사용자명/anaconda3/envs/가상환경명/bin/python'으로 나와야 한다.

 

pip -V

나의 경우 'pip 21.3.1 from /home/사용자명/.local/lib/python3.6/site-packages/pip (python 3.6)'로 출력이 되었다.

가상환경에서 python 3.8 버전으로 설치를 했지만 서버 로컬에 설치된 python 3.6 버전이 잡히는 것을 확인할 수 있다. 계속 anaconda3 하위 경로가 잡히지 않고 .local 하위 경로가 잡히고 있다.

 


 

해결하기

 

python을 불러오는 경로를 재설정하도록 한다.

 

cd ~/anaconda3/envs/가상환경명/bin
ls

출력된 것 중 python을 찾는다.

이 경로에 존재하는 python3.8을 기본 python으로 설정할 것이다.

 

vi ~/.bashrc

파일의 맨 끝 부분에 다음과 같이 입력한다. 

alias python='/home/사용자명/anaconda3/envs/가상환경명/bin/python3.8'
export PATH=/home/사용자명/anaconda3/envs/가상환경명/bin:$PATH

첫번째 줄은 터미널에 'python' 명령어를 입력하면 python 3.8 버전이 실행되도록 별칭을 등록하는 과정이다. 

두번째 줄은 PATH 환경변수를 설정하는 과정으로 입력해준 경로가 첫 순위 경로로 잡히게 된다.

 

파일을 저장하고, 아래 명령어를 입력한다.

source ~/.bashrc

서버를 재부팅 또는 로그아웃을 하면 환경변수 세팅이 처음으로 돌아가기 때문에, 위 명령어를 통해 세팅을 영구적으로 반영해준다.

위 명령어를 실행하면 가상환경이 비활성화된다.

 

 

 

 

최종적으로 모두 anaconda3 폴더 하위 경로로 설정이 잘 되었는지 확인한다.

$PATH
# -bash: /home/사용자명/anaconda3/envs/가상환경명/bin: /home/사용자명/anaconda3/bin: /home/사용자명/.local/bin: /home/사용자명/anaconda3/condabin: /usr/local/sbin: /usr/local/bin: /usr/sbin: /usr/bin: /sbin: /bin: /usr/games: /usr/local/games: /snap/bin:

which python
# /home/사용자명/anaconda3/envs/가상환경명/bin/python

pip -V
# pip 21.2.4 from /home/사용자명/anaconda3/envs/가상환경명/lib/python3.8/site-packages/pip (python 3.8)

 

이제 가상환경을 제대로 쓸 수 있다 :)

 

 

 

더보기

+ 추신

conda 가상환경 내에서는 웬만하면 pip install보다는 conda install을 이용하자.

반응형

댓글