====== python ====== 이제는 오래된 언어인가? * [[python:django|Python Django]] * [[python:venv|venv]] * [[python:django:ubuntu|Ubuntu에서 wsgi와 Apache설정]] * [[python:crypto|파이썬 Crypto]] * [[python:windows|Windows 환경에서 python사용]] * [[python:built-in|Built-In]] * [[python:datastructure|기초자료형]] * [[python:list|리스트]] * [[python:string|문자열]] * [[python:variable|변수]] * [[python:boolean|불]] * [[python:set|집합]] * [[python:tuple|튜블]] * [[python:dictionary|Dictionary]] * [[python:json|JSON자료처리]] * [[python:pip|Python Module 관리]] ===== 제어문 ===== * [[python:operator|연산자]] * [[python:shell|SHELL에서 사용하기]] ====== 파이썬 가상 환경 구성 ====== 아직 버전별로 무슨 차이가 있는지 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 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 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 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