2022. 3. 14. 10:04ㆍPython
맥북, 맥미니 등 M1환경에서는 python -m venv 명령어를 통한 가상 환경 사용이 불가능한 상황이라 아나콘다 (Mini Conda)의 설치 및 사용이 필요한 상황이다.
윈도우 환경에서도 협업의 과정에서 환경 설정 파일을 공유하여 협업 환경을 만들 가능성도 있기 때문에, 개발 환경의 통일을 위해서라도 conda사용법을 알고 있는 것이 좋을 것이다.
사실 python 개발 시작을 m1 맥북에서 시작해서 conda를 사용하는 것과 pypi만 사용하는 것의 차이점이나 장단점을 느껴보지는 못했습니다.
0. env란? viture env를 쓰는 이유?
env란?
env는 유닉스 및 유닉스 계열 운영 체제용 셸 명령어이다. 환경 변수의 목록을 출력하거나, 현존하는 환경을 수정하지 않고도 변경된 환경 내에서 다른 유틸리티를 실행하는데 사용할 수 있다.
env를 사용함으로써 변수를 추가하거나 제거할 수 있으며, 기존 변수는 새로운 값을 이들에 할당함으로써 변경할 수 있다. 실제로 env는 다른 용도로 사용되기도 한다. 올바른 인터프리터를 실행하기 위해 셸 스크립트에 자주 쓰인다. 이렇게 사용할 경우 환경은 일반적으로 변경되지 않는다.
viture env를 사용하는 이유
실 서버의 환경이나 기존 개발 환경에 따라 여러가지 프로젝트가 각각 다른 환경에서 실행되는 경우가 있습니다. A 프로젝트는 파이썬 3.5를 사용하고, B 프로젝트는 파이썬 3.9를 사용할 수도 있지요. 하지만 매번 프로젝트마다 환경을 새롭게 만들고 그에 맞는 패키지를 새로 설치하는 것은 매우 비효율적인 방법입니다. 그래서 가상환경을 만들고 그 환경 안에서 프로그램을 실행할 수 있는 가상 환경 시스템이 나오게 된 것입니다.
1. 설치
- 공식 홈페이지에서 다운로드 및 설치
- 아나콘다의 경우 모든 패키지가 포함된 버전이라고 생각하면 되고 미니 콘다의 경우 최소한의 필요 패키지가 포함되어있다
- 상황에 따라 다르지만 미니 콘다로 설치하여 필요한 패키지를 그때그때 설치하여 사용하는 것이 좋아 보인다
https://www.anaconda.com/products/individual
Anaconda | Individual Edition
Anaconda's open-source Individual Edition is the easiest way to perform Python/R data science and machine learning on a single machine.
www.anaconda.com
2. 설치 확인
- conda --version 명령어를 통해 버전을 확인한다
$ conda --version
conda 4.11.0
3. 실행환경 설정
$ conda create -n {실행환경명} python={파이썬 버젼}
ex) 실행 예제
- python은 3.10 버전을 사용하는 cenv310이라는 실행환경을 만들면 다음과 같이 결과가 나오게 된다.
- 실행환경의 저장 경로는 : environment location: /opt/miniconda3/envs/cenv310
$ conda create -n cenv310 python=3.10
Collecting package metadata (current_repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /opt/miniconda3/envs/cenv310
added / updated specs:
- python=3.10
The following NEW packages will be INSTALLED:
bzip2 pkgs/main/osx-64::bzip2-1.0.8-h1de35cc_0
ca-certificates pkgs/main/osx-64::ca-certificates-2021.10.26-hecd8cb5_2
certifi pkgs/main/noarch::certifi-2020.6.20-pyhd3eb1b0_3
libcxx pkgs/main/osx-64::libcxx-12.0.0-h2f01273_0
libffi pkgs/main/osx-64::libffi-3.3-hb1e8313_2
ncurses pkgs/main/osx-64::ncurses-6.3-hca72f7f_2
openssl pkgs/main/osx-64::openssl-1.1.1m-hca72f7f_0
pip pkgs/main/osx-64::pip-21.2.4-py310hecd8cb5_0
python pkgs/main/osx-64::python-3.10.0-hdfd78df_3
readline pkgs/main/osx-64::readline-8.1.2-hca72f7f_1
setuptools pkgs/main/osx-64::setuptools-58.0.4-py310hecd8cb5_0
sqlite pkgs/main/osx-64::sqlite-3.37.2-h707629a_0
tk pkgs/main/osx-64::tk-8.6.11-h7bc2e8c_0
tzdata pkgs/main/noarch::tzdata-2021e-hda174b7_0
wheel pkgs/main/noarch::wheel-0.37.1-pyhd3eb1b0_0
xz pkgs/main/osx-64::xz-5.2.5-h1de35cc_0
zlib pkgs/main/osx-64::zlib-1.2.11-h4dc903c_4
Proceed ([y]/n)? Y
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
# $ conda activate cenv310
#
# To deactivate an active environment, use
#
# $ conda deactivate
4. 실행 환경 리스트 확인하기
- conda env list 명령어를 통해 컴퓨터 내에 생성된 환경들을 확인할 수 있다
- 해당 명령어로 실행환경을 확인하고 여러 환경을 옮겨가며 프로젝트 작업이 가능하다
- 테스트가 아닌 프로젝트를 진행할 때는 프로젝트명과 가상 환경명을 맞춰 작업해야 혼돈이 적을 것으로 생각이 된다
$ conda env list
# conda environments:
#
/Users/minkyuseo/miniconda
base * /opt/miniconda3
cenv310 /opt/miniconda3/envs/cenv310
5. 실행 환경 활성화시키기 (Base)
- conda activate 명령어를 이용하여 가상 환경을 실행한다
- 가상 환경이 정상적으로 실행되면 OS환경에 따라 표시방법은 다르지만 현재 환경설정에 대한 정보다 표시된다
$ conda activate
5-1. 윈도우 환경
- 경로 앞부분에 (환경명)
(base) c:\User\xxx
5-2. 맥 환경
- 명령어 줄 끝에 환경명이 나온다
6. 실행 환경을 지정하여 활성화시키기
- conda activate {환경명} 명령어를 이용하여 가상 환경을 실행한다
$ conda acrivate cenv310
7. 실행 환경 비활성화
- conda deactivate 명령어를 이용하여 가상 환경을 비활성화시킨다
- 비활성화되면 각 OS에 표기되었던 환경명이 사라진다
$ conda deactivate
8. 실행 환경 삭제
- conda env remove -n {실행 환경 명} 명령어를 이용하여 실행환경을 삭제한다
$ conda env remove -n condatest
Remove all packages in environment /opt/miniconda3/envs/condatest:
8-1. 실행중인 환경의 삭제
- 실행 중인 실행환경을 삭제하려면 deactivate 명령어를 통해 비활성화를 진행하고 삭제한다
- 실행 중인 실행환경을 삭제하면 다음과 같은 에러가 발생한다
$ conda env remove -n test
CondaEnvironmentError: cannot remove current environment. deactivate and run conda remove again
[Python] Anaconda 패키지 리스트, 검색, 설치, 삭제
현재 activate된 환경에 설치된 패키지 목록 확인하기 $ conda list 환경명을 지정하여 설치된 패키지 목록 확인하기 $ conda list -n {환경명} 패키지 검색 conda search 명령어를 통해 패키지를 검색 가능 검
advdev.tistory.com