[우분투]pyenv를 통한 파이썬(python) 가상환경 구축 및 텐서플로, 케라스 설치

업데이트:

[우분투]pyenv 를 이용해 파이썬 가상환경 구축하기(2021.08.09)

제가 현재 사용중인 환경은 우분투(ubuntu) 입니다.

1. 사전 환경 업데이트

$ sudo apt update
$ sudo apt dist-upgrade

2. pyenv 설치하기

2.1. 사전 프로그램 설치

https://github.com/pyenv/pyenv-installer

위 사이트를 참조하여

$ sudo apt-get update; sudo apt-get install make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

2.2. pyenv 설치

다음 코드를 입력하면 pyenv가 설치 됩니다.

curl https://pyenv.run | bash

위 코드를 실행하면 설치 후 마지막 부분에 다음과 같은 메시지가 뜹니다.

# Add pyenv executable to PATH and
# enable shims by adding the following
# to ~/.profile:

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"


# Load pyenv into the shell by adding
# the following to ~/.bashrc:

eval "$(pyenv init -)"

# Load pyenv-virtualenv automatically by adding
# the following to ~/.bashrc:

eval "$(pyenv virtualenv-init -)"

위 메시지는 ~/.profile에

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"

를 추가하고

~/.bashrc에

eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

를 추가하라는 뜻입니다.

3. pyenv 설치 확인

$ pyenv
pyenv 2.0.4
Usage: pyenv <command> [<args>]

Some useful pyenv commands are:
   activate    Activate virtual environment
   commands    List all available pyenv commands
   deactivate   Deactivate virtual environment
   doctor      Verify pyenv installation and development tools to build pythons.
   exec        Run an executable with the selected Python version
   global      Set or show the global Python version(s)
   help        Display help for a command
   hooks       List hook scripts for a given pyenv command
   init        Configure the shell environment for pyenv
   install     Install a Python version using python-build
   local       Set or show the local application-specific Python version(s)
   prefix      Display prefix for a Python version
   rehash      Rehash pyenv shims (run this after installing executables)
   root        Display the root directory where versions and shims are kept
   shell       Set or show the shell-specific Python version
   shims       List existing pyenv shims
   uninstall   Uninstall a specific Python version
   --version   Display the version of pyenv
   version     Show the current Python version(s) and its origin
   version-file   Detect the file that sets the current pyenv version
   version-name   Show the current Python version
   version-origin   Explain how the current Python version is set
   versions    List all Python versions available to pyenv
   virtualenv   Create a Python virtualenv using the pyenv-virtualenv plugin
   virtualenv-delete   Uninstall a specific Python virtualenv
   virtualenv-init   Configure the shell environment for pyenv-virtualenv
   virtualenv-prefix   Display real_prefix for a Python virtualenv version
   virtualenvs   List all Python virtualenvs found in `$PYENV_ROOT/versions/*'.
   whence      List all Python versions that contain the given executable
   which       Display the full path to an executable

See `pyenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/pyenv/pyenv#readme

쉘에서 pyenv 를 실행했을때 위와 같은 화면이 나온다면 잘 설치된 것입니다.

4. 파이썬 설치

현재 설치 가능한 파이썬 버전을 확인해 봅시다.

$ pyenv install --list

저는 현재 가장 최신 파이썬 버전인 3.7.2를 설치하겠습니다.

$ pyenv install 3.8.5

파이썬 설치후 설치된 파이썬의 버전을 확인해 봅시다.

$ pyenv versions
  system(set by /home/cheolwon/.pyenv/version)
* 3.8.5 

5. 파이썬 가상환경 설치

가상환경 생성 문법은 아래와 같습니다.
pyenv virtualenv
저는 3.8.5 버전의 가상환경이므로 py3_8_5라는 가상환경이름으로 짓겠습니다.

$ pyenv virtualenv 3.8.5 py3_8_5

이렇게 파이썬 가상환경이 설치 되었습니다. 가상환경 설치가 잘 되었는지 확인해 봅시다.

$ pyenv versions
  system (set by /home/cheolwon/.pyenv/version)
* 3.8.5
  3.8.5/envs/py3_8_5
  py3.8.5

또한 아래로 가시면 방금설치하신 가상환경 디렉토리를 확인하실수 있습니다.

$ cd ~/.pyenv/versions

7. 가상환경 실행, 해제, 삭제

가상환경 사용하기(접속하기)

$ pyenv activate py3_8_5

가상환경 해제하기 (빠져나오기)

$ source deactivate

가상환경이나 파이썬 삭제하기

$ pyenv uninstall py3_8_5
$ pyenv uninstall 3.8.5

8. 가상환경 실행 후 라이브러리 설치하기

현재 설치된 라이브러리 리스트

$ pyenv activate py3_8_5
(py3_8_5)$ pip list

numpy를 설치해봅시다.

$ pyenv activate py3_8_5
(py3_8_5)$ pip install numpy

pandas 설치

(py3_8_5)$ pip install pandas

matplotlib 설치

(py3_8_5)$ pip install matplotlib

텐서플로(tensorflow) 설치

(py3_8_5)$ pip install tensorflow==2.2.0 

케라스(keras) 설치

(py3_8_5)$ pip install keras

플라스크(flask) 설치

(py3_8_5)$ pip install flask
(py3_8_5)$ pip install uwsgi  

주피터 노트북 설치

(py3_8_5)$ pip install jupyter

주피터 노트북 실행

(py3_8_5)$ jupyter notebook

부록.

텐서플로 버전

import tensorflow as tf
tf.__version__
'2.0.0'