사용자 도구

사이트 도구


python:home

python

제어문

파이썬 가상 환경 구성

아직 버전별로 무슨 차이가 있는지 python2, python3의 차이는 많이 있는 것같은데, python2는 호환성을 위해서 사용하는 듯.. 현재는 대부분 python3를 사용하는 것으로 개인적으로 생각된다.

python을 컴파일하기 위해서 필수

  • make gcc git
  • zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev libssl-dev libffi-dev liblzma-dev lzma-dev
  • ncurses-doc readline-doc sqlite3-doc liblzma-doc
  • tk-dev =⇒ Tk toolkit
  • freetype2-doc libx11-doc libxcb-doc libxext-doc tcl-doc tcl-tclreadline tcl8.6-doc tk-doc tk8.6-doc

pyenv을 이용한 가상환경 구축

1)pyenv

  • 파이썬 버전을 관리하는 툴.
  • 하나의 컴퓨터에 다양한 파이썬 버전을 설치하고 관리.
  • 프로젝트 홈페이지: https://github.com/pyenv/pyenv

2)pyenv-virtualenv

  • virtualenv은 파이썬 환경을 격리하는 툴.
  • pyenv-virtualenv은 pyenv의 확장 플러그인.
  • 파이썬 버전과 라이브러리의 완전한 격리 환경을 제공.
  brew install pyenv
  brew install pyenv-virtualenv
$ sudo apt-get install curl git-core gcc make zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev libssl-dev libffi-dev liblzma-dev lzma-dev
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
$ cd ~/.pyenv && src/configure && make -C src
 
$ git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
.bashrc
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
  eval "$(pyenv virtualenv-init -)"
fi
.zshrc
export PYENV_ROOT=/usr/local/var/pyenv
if which pyenv > /dev/null; then eval "$(pyenv init --path)"; fi
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi
 
export PYENV_VIRTUALENV_DISABLE_PROMPT=1
  • pyenv 설치버전확인
pyenv versions
pyenv version
pyenv install --list
pyenv install 3.9.7
$ pyenv virtualenv 3.9.7 marox
$ pyenv shell marox
$ pyenv versions
  system
  3.9.7
  3.9.7/envs/marox
* marox (set by PYENV_VERSION environment variable)
 <-- pyenv shell marox에의해서 환경이 setting되었다고 표시 .python-version, .pyenv/version에 의해서도 설정된 경우 표시된다.
 
pyenv global 3.10.6
pyenv virtualenv 3.10.6 maro
pyenv virtualenv-delete maro
pyenv uninstall 3.9.7

3)autoenv

  • autoenv는 디렉터리 이동 시 실행되는 스크립트
  • pyenv-virtualenv 사용 시 불편한 수작업을 자동화.
  • 특정 프로젝트 폴더로 들어가면 .env파일 실행하여 가상환경 활성화.
  • 별소용없을 듯 합니다.

4)pip

  • 파이썬 라이브러리를 관리.
python -m pip install --upgrade pip

Ubuntu,Debian에서의 python3, virtualenv, pip 사용

github에서 받기

git clone https://github.com/pyenv/pyenv.git ~/.pyenv
 
git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
.zshrc
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"

설치

% sudo apt python3 python3-virtualenv python3-pip

pip버젼확인과 pip업그레이드

python3 -m pip install --user --upgrade pip
 
python3 -m pip --version
sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
pyenv virtualenv 3.12.2 maro
python/home.txt · 마지막으로 수정됨: 2025/04/17 14:54 저자 taekgu