conda create --name=tf2py36 python=3.7
conda create --name tf2py36 python=3.7
conda create -n tf2py36 python=3.7
conda create -n=tf2py36 python=3.7
# 가상환경 생성확인
conda env list
conda info --envs
conda create -n 가상환경이름 파이썬버전
파이썬 버전을 명시하지 않을경우 빈 프로젝트로 생성
생성된 python interpreter 경로 : ~/anaconda3/envs/tf2py36/bin/python3.7
Tip) Parameter passing by shell script
기본적으로 파라미터를 전달하는 방법은 (실행시킬모듈) (명령어) (인자, argument) 로 전달된다.
파라미터는 --name 과 같이 전달하며 이는 프로그램에서 받을때 설계 가능하며, -n (--name) 을 똑같이 의미하도록 사용할 수 있다.
이때 파라미터를 전달하는 경우, 약어를 통해 전달할 경우 - 를 한개만 사용하며, 모든 파라미터 이름을 전달하고 싶다면, 슬래시(--)를 두개 사용한다.
# 완전히 삭제하기 위한 --all (모든 package 삭제)
conda remove --name=tf2py36 --all
conda remove --name tf2py36 --all
conda remove -n=tf2py36 --all
conda remove -n tf2py36 --all
--all 을 사용하지 않을경우 껍데기만 삭제되는 경우가 있기때문에 --all 로 인자를 넘겨주는 것이 안전하다.
#가상환경을 비활성화 된 상태라면?
source activate tf2py36
conda activate tf2py36
# 특정 패키지를 설치하고 싶을때
conda install tensorflow
# 특정 패키지 버전을 설치하고 싶을 때
# 1) 2.1.0, 2.1.1, 2.1.2 등등 포괄적으로 설치
conda install tensorflow=2.1
# 2) 정확하게 2.1.0 버전 설치
conda install tensorflow==2.1
# 3) 2.1.0 이상 버전 설치
conda install "tensorflow>=2.1.0"
# 4) 1.15.0 버전또는 2.1.0 버전 설치
conda install "tensorflow=1.15.0|2.1.0"
# 다른 가상환경에 설치하고 싶은경우
conda install -n test2 tensorflow
# pip을 이용하여 설치해야할 경우
source activate tf2py36
pip install tensorflow
pip install tensorflow==2.1.0
pip vs conda
conda install 은 conda channel에서 존재하는 패키지를 조사한 뒤, pypi에서 pip 모듈을 통해 설치가능한지 판단하여 dependency를 고려하여서 설치한다.
가상환경을 activate 하지 않은 상태에서 pip 을 사용하게 되면 기본 python 환경에서 설치되기 때문에 주의. 가상환경은 activate한 상태에서 pip을 사용하면 anaconda3/envs/tf2py36/ 안쪽에 저장된다.
pip install version (== 등호 2개) conda install version ( = 등호 1개도 가능)
또한, conda와 pip install 에서 같은 모듈이여도 이름이 다를 수 있다.
ex) pip install sklearn , conda install scikit-learn
# 특정패키지를 제거하고 싶은경우
# Environment Activated
conda remove tensorflow
pip uninstall tensorflow
# Environment Deactivate
conda remove -n tf2py36 tensorflow
되도록이면 가상환경을 activate 한 상태에서 지우는것이 base conda environment, python base environment 와 혼동되지 않는다.
가상환경을 activate 시킨상태에서 pip uninstall로 pip 으로 설치한 모듈을 삭제 가능하다.
# 가상환경 활성화
source activate tf2py36
# 가상환경 export (내보내기)
conda env export > environment.yaml
# .yaml 파일 형식에서 해당 콘다 환경 제작하기
conda env create -f ./environment.yaml
한가지 주의할점은, 윈도우, 우분투, Mac에서 존재하는 아나콘다의 버전이 다를경우 설치가 안되는 경우가 있다.
Conda 에 존재하는 channel에 패키지가 존재하지 않는다거나, pip에서 에러가 난다거나 등등... 버전을 최대한 맞춰주고 에러가 나는 버전들은 대체적으로 yaml파일에서 삭제한뒤, 해당 패키지만 다시 설치해주는것이 낫다.
conda env create -f 을 이용하면 prefix (가상환경의 이름) 이 yaml 파일의 첫번째 내용인 name : tf2py36 을 따라가면서 설치된다.
name: tf2py38
channels:
- nvidia
- conda-forge
- defaults
dependencies:
- python=3.8
# Install cuda libs + ptxas compiler from nvidia channel
# This will accelerate the compilation of kernels for your specific card
- cudatoolkit=11
- cudnn=8
- cupti=11
- cuda-nvcc
- pip
- pip:
- tensorflow==2.7.*
- -r file: requirements.txt
variables:
# In case you want to see your own logs and tame the TF loggorrhea
TF_CPP_MIN_LOG_LEVEL: 3
# Adjust to point to your local env path:
LD_LIBRARY_PATH: ~/anaconda3/envs/yt8m2/lib
아래처럼 variables에 지정을 해주게 되면 conda 환경 내부에서 환경변수 설정을 유지시켜줄 수 있다.