반응형
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
반응형
'DEV' 카테고리의 다른 글
[Python] does not support timestamps before 1980 (1) | 2022.10.23 |
---|---|
[Django] django 설치 시 오류 (ModuleNotFoundError: No module named '_sqlite3') (0) | 2022.07.10 |
[Sentry] 도메인 연결 및 SSL 설정 (0) | 2022.06.19 |
[Sentry] MAIL 서버 설정 (0) | 2022.06.19 |
[Sentry] Sentry Self-hosted 설치 (1) | 2022.06.19 |