YUMSERV
Published 2022. 7. 8. 22:03
[PYTHON] pyenv 가상환경 셋팅 DEV
반응형

Python VirtualEnv 를 포괄하는 Python 인스턴스 환경 관리
pyenv는 Python을 통째로 사용자 디렉토리에 설치한다. : 즉, 여러가지 JVM 설치와 비슷하다고 보면 된다.
virtualenv는 이미 존재하는 Python 설치본에 대해 링크만 걸어서 독립된 프로젝트 환경을 구성하고 해당 가상환경의 site-packages에 라이브러리들을 추가하여 하나의 독립된 프로젝트 환경을 만드는 형태이다. : 즉, 신규 Java 프로젝트를 만들고 거기에 필요한 각종 라이브러리를 JVM 설치본과는 독립적으로 구성해 넣는 것이라고 보면된다.

1. 1. pyenv 설치

<bash />
curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash 가상환경을 만들 계정의 .bashrc 안에 추가 export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"

 

 

2. 2. pyenv 버전 확인

pyenv에서 사용 가능한 파이썬 버전은 아래와 같이 확인할 수 있다.

<bash />
pyenv versions * system (set by /root/.pyenv/version)

 

pyenv에서 사용 가능한 파이썬 버전은 아래와 같이 확인할 수 있다.

<bash />
pyenv install --list Available versions: 2.1.3 2.2.3 ...

 

pyenv 안 python 설치

<bash />
pyenv install 3.9.4 pyenv versions * system (set by /root/.pyenv/version) 3.9.4

 

virtualenv 설정

<bash />
pyenv virtualenv 3.9.4 venv_3.9.4 Looking in links: /tmp/tmpb7fyyt3v Requirement already satisfied: setuptools in /root/.pyenv/versions/3.9.4/envs/venv_3.9.4/lib/python3.9/site-packages (49.2.1) Requirement already satisfied: pip in /root/.pyenv/versions/3.9.4/envs/venv_3.9.4/lib/python3.9/site-packages (20.2.3) pyenv versions * system (set by /root/.pyenv/version) 3.9.4 3.9.4/envs/venv_3.9.4 venv_3.9.4 (활성화) pyenv virtualenv 3.9.4 venv_3.9.4

 

 

 

3. 3. python 최신버전 설치할 때 오류

<bash />
pyenv install venv_3.9.4 # python-build: definition not found: venv_3.9.4 # See all available versions with `pyenv install --list'. # If the version you need is missing, try upgrading pyenv: # cd /home/test1/.pyenv/plugins/python-build/../.. && git pull && cd - cd /home/test1/.pyenv/plugins/python-build/../.. && git pull && cd - pyenv install 3.9.4

 

 

<bash />
pyenv install 3.9.4 ... # ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib? -> openssl 버전업 openssl version OpenSSL 1.0.1k-fips 8 Jan 2015 yum install openssl openssl-devel openssl version OpenSSL 1.0.2k-fips 26 Jan 2017

 

<bash />
/root/.pyenv/plugins/python-build/bin/python-build: line 1730: patch: command not found -> yum install patch

 

 

pyenv python 3.11 설치 시 openssl 버전이 맞아야 설치가 가능합니다.
Python 3.10 이상부터는 Openssl 버전이 1.1.1 이상이여야 합니다.

관련 글 : https://peps.python.org/pep-0644/

OS 내 openssl 버전을 1.1.1 이상으로 올리고, pyenv 로 설치 진행하면 됩니다.

Openssl 소스설치 방법 : https://yumserv.tistory.com/191

<bash />
LDFLAGS="-L/usr/local/openssl/lib" \ CPPFLAGS="-I/usr/local/openssl/include" \ pyenv install -v 3.11.0b3

 

 

반응형
profile

YUMSERV

@lena04301

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!