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

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


1. pyenv 설치

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. pyenv 버전 확인

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

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

 

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

pyenv install --list
Available versions:
2.1.3
2.2.3
...

 

pyenv 안 python 설치

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

 

virtualenv 설정

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. python 최신버전 설치할 때 오류

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

 

 

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

 

/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

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

 

 

반응형
profile

YUMSERV

@lena04301

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