Note-Notice
➽|파이썬 버전 관리 필요성
title: Python 버전 관리 환경 구축의 필요성- Python
- 서버 종속 영향도가 큰 개발언어
- 서버 종속 영향도가 큰 개발언어
- Pyenv 환경 구성
- 파이썬의 다양한 환경/모듈을 서버종속 환경 외의 형태 활용하기 위함
- 또한 서버 내 구성된 파이썬 환경을 변경/대체하면서 개발환경 구성이 어렵기 때문
- 버전 2.7 / 3.6 / 3.8 간 큰 차이 발생으로 인한 호환성 문제에서
서버 종속성을 해결하고 독립된 환경으로 구성하기 위함
- 파이썬 버전 관리 프레임 워크를 사용!
- PYENV/VirtualEnv/AutoEnv
- PYENV/VirtualEnv/AutoEnv
- 참고 레퍼런스
- 파이썬의 다양한 환경/모듈을 서버종속 환경 외의 형태 활용하기 위함
➽|파이썬 독립실행 가상환경 구축
title: PYENV -- VirtualEnv -- AutoEnv↘ Pyenv
title: Python 가상환경 구축 핵심 프레임워크- 시스템 내에 여러 버전의 Python Core Engine을 설치하고 관리가능
- Python 핵심 엔진 환경을 구축하는 용도
- 설치된 Python Version Switch 기능 제공
- Python 라이브러리 관리자
(PIP)를 기반으로 동작
- (설치) Pyenv 구성 방안
# Env Python OS User ->> Under pyuser # - GitHub를 이용한 환경 구성 수행 # + 사전 git/curl 구성 필수 #--------------------------------------------------- #.01 필수 변수 지정 : PYENV_ROOT export PYENV_ROOT={PYENV_구성_경로/절대경로---.pyenv까지 경로포함} #--------------------------------------------------- #.02 PYENV CLONE : GITHUB curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash #GIT_REPO curl -s -S -L \ https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash #OFFICIAL #--------------------------------------------------- #.03 PYENV 환경 변수 지정 # - 유저 프로파일 내 아래 구문 추가(.*profile or .bashrc 선택) #-- Env : Pyenv export PYENV_ROOT=".pyenv 설치위치..절대경로" [ -z $__BASE_PATH ] && export __BASE_PATH=$PATH [ -d $PYENV_ROOT/bin ] && export PATH=${PYENV_ROOT}/bin:$__BASE_PATH if command -v pyenv 1>/dev/null 2>&1 then eval "$(pyenv init -)" && eval "$(pyenv virtualenv-init -)" fi #--------------------------------------------------- #.04 PYENV 환경 확인 # PYENV 버전 확인 및 구축 가상환경 확인 pyenv versions # 설치가능한 PYTHON 라이브러리 확인 # - 해당 리스트에서 필요한 파이썬 환경 구축 설치 가능 # - 설치 간 필요한 종속패키지 또한 자동으로 설치됨 / 인터넷 연결 필수 pyenv install -list #--------------------------------------------------- #.05 Python 환경 구축 # - 사전 pyenv install -list 상의 target 환경 확인 pyenv install {pyenv_library_name} # TEST : miniconda3-3.7-23.1.0-1 (PY.3.7.16) pyenv uninstall {pyenv_library_name} # 제거시 pyenv versions # 구축 환경 확인
↘ VirtualEnv/AutoEnv
title: Python 가상환경 구축 (Logical-Virtual)- VirtualEnv 필요성
- 서버 종속되는 기본 Python 환경(System Distrivution Python)을 이용하지 않는 방식
- 별도로 구성된 Python 환경(Pyenv 구성)을 이용하는 형태
- 별도 구성 환경을 분리 실행하는 형태를 제공
- 별도 구성된 환경을 그대로 사용할 수 있어도 모듈/버전의 변경등의 이유로
독립된 실행 형태로 Python 환경을 이중 분리하는 용도로 구성 가능
- 즉, 격리된 Python Library 환경 구성을 위함!
- Pyhton Version은 별도의 독립공간을 필수로 요구
- 프로젝트 간 버전 차이로 인한 종속성 제거를 위해 위 환경이 요구됨
- (설치) VirtualEnv/AutoEnv 구성 방안
# Env pyuser # - pyenv 내 virtualenv으로 가상환경 구축 #--------------------------------------------------- #.01 Python 가상환경 배포 검증 - 최초구성 검증 # - local 옵션의 경우, 가상환경 전환을 수행 # - local 옵션은 현 디렉터리의 실행 Python 환경을 PYENV POOL 째로 변경하는 것 pyenv local {pyenv_library_name} #환경 전환 수행 pyenv local system #기본 환경 전환(시스템 배포버전) #--------------------------------------------------- #.02 Python 가상환경 구축 - 독립수행 환경 구성/배포 # - 설치 구성된 PYENV POOL 중 가상환경으로 FORK 하여 구축 # - 가상 환경 구축만 수행된 것 pyenv local system pyenv virtualenv {pyenv_Library_name} {pyenv_env_name} # TEST : mini37 pyenv virtualenv-delete {pyenv_env_name} # 가상 환경 제거시 수행 pyenv versions # 구축 확인 #--------------------------------------------------- #.04 Python 가상환경 전환 - 환경 적용 # - 가상 환경 실 적용 수행 / Python 환경 적용은 디렉터리 별로 적용됨(하위 디렉터리 포함) # - pyenv 기능상 .python-version 파일 구성에 따라 AutoEnv 기능까지 구현됨 # 가상환경 구축 디렉터리 생성 mkdir {python_env_dir} # TEST : /py/mini37 # 가상환경 적용 및 확인 cd {python_env_dir} ; pyenv local {Pyenv_env_name} cat .python-version pyenv local system # 환경 적용 제거시 수행
➽|파이썬 Conda 환경 구성
title: Python Library Framework 환경↘ Python Conda
title: Python Library 관리자 중 하나-
Python의 기본적/선택적 라이브러리 관리를 통합 관리하는 솔루션 존재
ANACONDA: Python 라이브러리 관리자 / 데이터 과학 라이브러리에 초점(PIP와 비슷)CONDAANACONDA의 경량 버전+
-
Pyenv 외로 구성/관리 필요한 라이브러리 사용을 위해 사용 가능
-
(설치) Conda 환경 구성 방안
# Env pyuser - Conda Python 환경 # - Conda의 내부 Python 및 라이브러리 환경 전환 가능 #--------------------------------------------------- #.01 CONDA 계열 가상 환경 구축 시 # - pyenv virtualenv 수행 시, conda activate 필요 # + pyenv local 통해 conda 환경 전환 후 명령 실행 conda activate {pyenv_env_name} conda list # {pyenv_env_name} 환경 존재 여부 확인 #--------------------------------------------------- #.02 CONDA 환경 구축 확인 # - conda / python 버전 확인 conda -V # conda 버전 확인 python -V # conda 구성 Python 버전 확인 conda info # conda 구성 환경 확인 conda list # conda 가상 환경 확인 #--------------------------------------------------- #.02 CONDA 배포 가능 PYTHON 확인 및 설치 # - conda는 python 라이브러리 관리용 # - 필요한 Python 버전 확인 및 변경 가능 conda search python # CONDA 사용 가능 PYTHON 버전 확인 conda install python={VERSION} # CONDA PYTHON VERSION 변경 python -V 변경 후 확인 #--------------------------------------------------- #.03 CONDA 배포 가능 추가 라이브러리 설치 # - Python 추가 라이브러리 구성 conda search django # Python 버전에 맞는 Django 버전 확인 conda install django={VERSION} # 버전에 맞는 라이브러리 설치 django-admin version conda serach cx_oracle # Python 버전에 맞는 cx_oracle 최신 버전 확인 conda install cx_oracle={VERSION} # 버전에 맞는 라이브러리 설치 mkdir test printf "import cx_Oracle\nprint(cx_Oracle.version)" > ./test/ch-cx_oracle.py python test/ch-cx_oracle.py