9/10/2019

Anacoda 관련사용법 및 virtual 환경 자료수집

1. Python 의 기본내용

최근 리눅스에서 Machine/Deep Learning하면서 conda를 많이 사용하는데, conda와 pip로 분리되어 각각의 Package를 관리되는 것을 비교해보자.

  • Python 기본설명 및 용어
Python에 관련된 기본설명과 용어들을 알아두자 (Python2는 항상 호환문제로 사용)

  • Python 자료모음 및 관련링크 
Python Programing 할때 문법을 비롯하여, 각 예제 및 사용법에 대한 링크연결 


1.1  Anaconda download 및 설치 

두가지 배포판으로 제공해주고 있으며, 아래의 사이트에서 쉽게 Download 및 설치가 가능하다

  1. Python 3.7 Version : Anaconda3.date.OS.Arch
  2. Python 2.7 Version:  Anaconda2.date.OS.Arch

Anaconda Download
  https://www.anaconda.com/distribution/#download-section
  https://repo.anaconda.com/archive/

Anacoda의 사이트 및 소개
  https://www.anaconda.com/

  • Anaconda 설치방법 (Ubuntu 기반)
아래와 같이 쉽게 설치가 가능하며, 설치된 후에는 쉽게 관리가능
$ cd /tmp

$ curl -O https://repo.anaconda.com/archive/Anaconda3-2019.03-Linux-x86_64.sh        // Python 3.7 

$ sha256sum Anaconda3-2019.03-Linux-x86_64.sh    // checksum 확인 

$ bash Anaconda3-2019.03-Linux-x86_64.sh // 설치진행 

$ conda list // 설치 후 package 확인 

출처: Anaconda 설치 방법
  https://www.digitalocean.com/community/tutorials/how-to-install-anaconda-on-ubuntu-18-04-quickstart


1.2 conda 와 pip 기본비교 

Machine Learning 을 위한 python virtual 환경을 찾다가 대부분 Anaconda로 사용해서 이를 구성을 하는 것 같은데, 이에 대해 좀 더 자세히 알고자 한다.
Anaconda는 일반적으로 conda도 package를 관리하며,  pip인 python의 package 방식과 유사하지만, 다른부분이 많아 이를 비교한다. 


  • Conda 와 pip 의 기본비교 
관련부터 conda는 bin / pip는 wheel or source 이며, conda가 아래를 봐도 다양하게 지원가능하다
virtulenv는 pip는 별도로 설치를 해야하지만, conda는 내부 내장이며, 압도적으로 성능 좋을 것으로 보인다. 

https://www.anaconda.com/blog/understanding-conda-and-pip



  • Tensorflow을 위한 pip 와 anaconda 성능비교 
python package tool인 pip와 conda의 성능비교라고 하며, 성능차이가 나는데 정확한 원인은 anaconda를 좀 더 알아봐야 할 것 같지만,
상위 비교를 보면 대충은 이해는 가는 것 같다. 

https://www.anaconda.com/blog/tensorflow-in-anaconda

  • conda의 기능과 역할 
현재 대체적으로 Mahcine Learning 기반에서 많이 사용되어지며, 내부 Package 역시 Machine Learning에 꼭 필요한 Package 구성이다.
그래서 Tensorflow의 경우 반드시 필요 


1.3  conda 와 pip 사용법 비교 

python의 pip 처럼 conda를 기반으로 설치가 가능하며, 본인이 원하는 환경을 구성하여 각각의 version을 설정도 가능하다고 한다.

  • conda / pip package 기본관리 
python의 pip 와 거의 동일하게 package를 설치/제거/찾기

$ conda install package   // pip install 
$ conda remove package    // pip uninstall 
$ conda list              // pip list 
$ conda search package    // pip search 


  • conda 의 일반 명령어  
conda의 세부명령어들은 아래사이트에서 참조 
  https://docs.conda.io/projects/conda/en/latest/commands.html#conda-general-commands


  • conda 와 pip 의 동작비교 


Task

Conda package and environment manager command

Pip package manager command

Virtualenv environment manager command

Install a package

conda install $PACKAGE_NAME

pip install $PACKAGE_NAME

X

Update a package

conda update --name $ENVIRONMENT_NAME $PACKAGE_NAME

pip install --upgrade $PACKAGE_NAME

X

Update package manager

conda update conda

Linux/macOS: pip install -U pip Win: python -m pip install -U pip

X

Uninstall a package

conda remove --name $ENVIRONMENT_NAME $PACKAGE_NAME

pip uninstall $PACKAGE_NAME

X

Create an environment

conda create --name $ENVIRONMENT_NAME python

X

cd $ENV_BASE_DIR; virtualenv $ENVIRONMENT_NAME

Activate an environment

conda activate $ENVIRONMENT_NAME*

X

source $ENV_BASE_DIR/$ENVIRONMENT_NAME/bin/activate

Deactivate an environment

conda deactivate

X

deactivate

Search available packages

conda search $SEARCH_TERM

pip search $SEARCH_TERM

X

Install package from specific source

conda install --channel $URL $PACKAGE_NAME

pip install --index-url $URL $PACKAGE_NAME

X

List installed packages

conda list --name $ENVIRONMENT_NAME

pip list

X

Create requirements file

conda list --export

pip freeze

X

List all environments

conda info --envs

X

Install virtualenv wrapper, then lsvirtualenv

Install other package manager

conda install pip

pip install conda

X

Install Python

conda install python=x.x

X

X

Update Python

conda update python*

X

X

conda activate only works on conda 4.6 and later versions. For conda versions prior to 4.6, type:

출처:conda의 관련 command 및 pip와 비교 


1.4 conda 설치후 Tensorflow 관련설정

conda 설치 진행후 tensorflow를 사용하기 위해서 관련부분 설치 진행 
  • 나만의 환경구성 
$ conda list | grep python 
ipython                   7.6.1            py37h39e3cac_0  
ipython_genutils          0.2.0                    py37_0  
msgpack-python            0.6.1            py37hfd86e86_1  
python                    3.7.3                h0371630_0  
python-dateutil           2.8.0                    py37_0  
python-libarchive-c       2.8                     py37_11  

$ conda create --name my_env python=3
$ conda activate my_env


$ conda create -n tensorflow_gpuenv tensorflow-gpu    // tensorflow_gpuenv 환경 만들고 필요한 package를 tensorflow-gpu 설정 
$ conda activate tensorflow_gpuenv   // 나만의 환경설정으로 시작 

출처
  https://www.anaconda.com/tensorflow-in-anaconda/

  • TensorBoard 기본사용법
Tensorflow의 Tensorboard 사용법들 관련링크 중요 
  https://medium.com/trackin-datalabs/tensorboard-tensorboard-%EA%B8%B0%EC%B4%88-6163e1642bb0
  https://medium.com/trackin-datalabs/tensorboard-%EA%B0%84%EB%8B%A8%ED%9E%88-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-18a4fda2efb1
  https://pinkwink.kr/1086
  https://pythonkim.tistory.com/39


1.5 Pycharm 기반의 Conda 관련내용 링크 


Pycharm 기반의 Conda
  https://www.anaconda.com/pycharm
  https://itsfoss.com/install-pycharm-ubuntu/
  https://itsfoss.com/install-pycharm-ubuntu/



2. Python 의 가상환경 구성 및 관리방법 

Anaconda 를 비롯하여 여러가지 Virtual 환경을 제공을 하고 있으며, Python의 Package들을 독립적으로 Virtual 환경마다 관리가 가능하기때문에 편리하다.
최근에는 주로 사용하는 Vritual 환경은 pip 기반의 virtualenv/venv 와 conda 기반으로 사용하며, 각각의 기능을 알아보자.
venv와 conda 중심으로 알아가면될 것 같다. 

  • Python 다양한 Virtual 환경 비교
pyenv/virtualenv/venv/conda 비교 및 기본이해
  https://wikidocs.net/16402



  • Python Package는 전체관리와 가상환경관리로 구분 
  1. 전체 관련 Package 관리 
  2. 각 독자 가상환경 구성 후 아래의 명령어로 Package 관리 

  • pip 기반의 package 관리(venv 적용후 관리해도됨)
$ pip install -r requirement.txt
$ pip freeze > requirement.txt 

  • conda 기반의 package 관리(가상환경기반으로해도됨)
$ conda install --file packagelist.txt
$ conda list --export > packagelist.txt 


각 가상환경 기본 사용법 (venv/conda)

  • python3의 venv 설정(가상환경) 및 기본 사용법
$ python3 -m venv 설정이름   // create venv  , virtualenv도 거의 동일
$ source 설정이름/bin/activate   // active 가상환경가동 in Linux
>  설정이름/bin/activate.bat   // active in Window
>  설정이름/bin/activate.ps    // active in Window
$ deactivate     // decativate 가상환경에서 빠져나오기 

  • conda 의 가상환경 및 기본사용법
$ conda create -n 설정이름
$ source activate 설정이름
$ source deactivate


Python 의 pip 와 virtualenv 소개 
  https://medium.com/@dan_kim/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%B4%88%EC%8B%AC%EC%9E%90%EB%A5%BC-%EC%9C%84%ED%95%9C-pip-%EA%B7%B8%EB%A6%AC%EA%B3%A0-virtualenv-%EC%86%8C%EA%B0%9C-a53512fab3c2

Python virtualenv(Python2) 와 venv (Python3) 사용법 (조금다르나 거의 동일) 

Python Virtualenv 관련내용 

댓글 없음 :