리눅스 서버에 Python 3.6 버전이 설치되어 있는데, 새로운 테스트를 위해 Python 3.10 버전이 필요하여, 가상환경으로 구성한 내역을 기재한다. (Anaconda로 구성)
가상 환경이란?
여러 프로젝트별 파이썬 버전 & 파이썬 패키지 충돌을 피하기 위한 독립된 환경을 구축하는 것이다.
가상환경이 필요한 이유는 Python을 사용하면 파이썬 패키지들은 하나의 버전만 사용 가능 해서 여러 프로젝트를 수행할 경우 필요한 패키지가 다를 수 있고, 동일한 패키지의 요구되는 버전 또한 다를 수 있다.(프로젝트별 파이썬 버전도 상이할 수 있다.)
가상 환경 venu VS conda
Python에 내장 되어 있는 모듈인 venu (python 3.3 이상부터 사용 가능)와 Anaconda에서 제공하는 가상 환경(conda로 관리) 이 있다. 그 외에도 종류는 여러 가지 있다.(pipenv, pyenv, virtualenv)
참조로 venu는 파이썬만 설치하면 사용할 수 있어 편리하게 사용 가능한데, conda를 사용하는 이유는 conda의 여러 특징이 있겠지만 아래 두 개의 이유 때문에 좀 더 관리가 수월 한 것 같다.
1. conda는 Python 설치를 관리한다. (venu는 파이썬 설치 후 가상환경 구성 - 가상 환경 구성시 파이썬 버전은 선택 가능)
2. 가상 환경 구성된 디렉터리를 따로 기억할 필요가 없다. - 가상환경 디렉터리 조회 가능 (venu는 이동된 경로에 가상환경 디렉터리 생성하고, 별도로 조회 기능은 없는 것 같다.)
Anaconda는 나무위키에 따르면 과학 연구 및 머신러닝 분야에 적합한 Python 및 R 언어의 패키지 / 의존성 관리 및 배포를 편리하게 해주는 조건부 무료 오픈 소스 패키지 관리자 라고 한다.
Anaconda 설치 여부 확인 (버전 확인 되면, 설치 과정 생략 가능)
$ conda -V (or conda --version) conda 23.7.4 |
Anaconda 설치
Anaconda 다운로드 URL
https://www.anaconda.com/download
다운로드 페이지에서 Get Additional Installers -> Anaconda Installers 페이지로 이동한다.
OS에 맞게 설치 프로그램 링크 주소를 복사한다. (리눅스 서버에 다운로드하여 설치)
Anaconda 다운로드 (약 1GB 스크립트 다운된다.)
$ wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh Anaconda3-2023.09-0-Linux-x86_64.sh |
Anaconda 설치
$ bash Anaconda3-2023.09-0-Linux-x86_64.sh |
Anaconda 설치 과정
--라이선스 확인 In order to continue the installation process, please review the license agreement. Please, press ENTER to continue >>> 엔터입력 --라이선스 동의 Do you accept the license terms? [yes|no] [no] >>> yes --설치 경로 설정 [home/testuser/anaconda3] >>> /data/anaconda3 --.bashrc 설정? (yes로 입력하게 되면, 'conda init' 을 수행한 것과 같이 .bashrc 에 적용된다.) You can undo this by running `conda init --reverse $SHELL`? [yes|no] [no] >>> yes no change /data/anaconda3/condabin/conda no change /data/anaconda3/bin/conda no change /data/anaconda3/bin/conda-env no change /data/anaconda3/bin/activate no change /data/anaconda3/bin/deactivate no change /data/anaconda3/etc/profile.d/conda.sh no change /data/anaconda3/etc/fish/conf.d/conda.fish no change /data/anaconda3/shell/condabin/Conda.psm1 no change /data/anaconda3/shell/condabin/conda-hook.ps1 no change /data/anaconda3/lib/python3.11/site-packages/xontrib/conda.xsh no change /data/anaconda3/etc/profile.d/conda.csh modified /home/testuser/.bashrc --.bashrc 자동 적용 내역 # >>> conda initialize >>> # !! Contents within this block are managed by 'conda init' !! __conda_setup="$('/data/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)" if [ $? -eq 0 ]; then eval "$__conda_setup" else if [ -f "/data/anaconda3/etc/profile.d/conda.sh" ]; then . "/data/anaconda3/etc/profile.d/conda.sh" else export PATH="/data/anaconda3/bin:$PATH" fi fi unset __conda_setup # <<< conda initialize <<< |
가상환경 목록 중 (base) 자동 활성화 해제
(base) [test@anaconda3]$ (base) [test@anaconda3]$ conda config --set auto_activate_base false **ssh 재접속 후 (base) 비활성화 확인된다. [test@anaconda3]$ |
conda 사용 명령어
--conda 버전 확인
$ conda -V
conda 23.7.4
--파이썬 버전 확인
$ python3 -V (or python3 --version)
--가상환경 목록 조회 (가상환경 디렉터리 확인 가능)
$ conda env list
$ conda info --env
# conda environments: # base /data/anaconda3 testenv /data/anaconda3/envs/testenv |
--가상환경 생성과 동시에 python 버전 설정 (testenv 생성된다.)
conda create -n [name] python=[version]
ex) $ conda create -n testenv python=3.10
--가상환경 접근 & 나오기
$ conda activate testenv
$ conda deactivate
--가상환경에 설치된 Python 패키지 목록 조회 (pip)
$ pip list
(testenv) [test@anaconda3]$ pip list
Package Version
---------- -------
pip 23.3.1
setuptools 68.0.0
wheel 0.41.2
|
conda 삭제
1. conda clean
$ conda clean -a
**conda 옵션
clean Remove unused packages and caches.
**conda clean 옵션
-a, --all Remove index cache, lock files, unused cache packages, tarballs, and logfiles.
2. 설치 디렉터리 삭제
$ rm -rf anaconda3
3. .bachrc 내용 제거
감사합니다.