$ pyenv install 3.7.2
python-build: use openssl from homebrew
python-build: use readline from homebrew
Downloading Python-3.7.2.tar.xz...
-> https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tar.xz
Installing Python-3.7.2...
python-build: use readline from homebrew
WARNING: The Python sqlite3 extension was not compiled. Missing the SQLite3 lib?
Installed Python-3.7.2 to /Users/jeongdaye/.pyenv/versions/3.7.2
이때 다음과 같은 오류가 발생할 수 있다. 아래와 같이 오류를 해결해준 후 다시 명령어를 실행하면된다.
global 설정
$ pyenv global 3.7.2
터미널을 종료 후 다시 시작하면 python의 version이 3.7.2로 바뀐 것을 확인할 수 있다.
$ python
Python 3.7.2 (default, Mar 4 2019, 17:24:35)
[Clang 10.0.0 (clang-1000.10.44.4)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
zlib 오류발생
BUILDFAILED (OS X10.14.2usingpython-build20180424)Inspect or clean up the working tree at /var/folders/02/dsdr2ndd5jj8p8h5vpw3_n300000gn/T/python-build.20190217200742.23725
Resultsloggedto/var/folders/02/dsdr2ndd5jj8p8h5vpw3_n300000gn/T/python-build.20190217200742.23725.logLast10loglines: File "/private/var/folders/02/dsdr2ndd5jj8p8h5vpw3_n300000gn/T/python-build.20190217200742.23725/Python-3.7.2/Lib/ensurepip/__main__.py", line 5, in <module>
sys.exit(ensurepip._main()) File "/private/var/folders/02/dsdr2ndd5jj8p8h5vpw3_n300000gn/T/python-build.20190217200742.23725/Python-3.7.2/Lib/ensurepip/__init__.py", line 204, in _main
default_pip=args.default_pip, File "/private/var/folders/02/dsdr2ndd5jj8p8h5vpw3_n300000gn/T/python-build.20190217200742.23725/Python-3.7.2/Lib/ensurepip/__init__.py", line 117, in _bootstrap
return_run_pip(args+ [p[0] for p in_PROJECTS], additional_paths) File "/private/var/folders/02/dsdr2ndd5jj8p8h5vpw3_n300000gn/T/python-build.20190217200742.23725/Python-3.7.2/Lib/ensurepip/__init__.py", line 27, in _run_pip
importpip._internalzipimport.ZipImportError:can't decompress data; zlib not availablemake: *** [install] Error 1
zlib 설치
$ brew install zlib
$ vim ~/.zshrc
# For compilers to find zlib you may need to set:
export LDFLAGS="-L/usr/local/opt/zlib/lib"
export CPPFLAGS="-I/usr/local/opt/zlib/include"
# For pkg-config to find zlib you may need to set:
export PKG_CONFIG_PATH="/usr/local/opt/zlib/lib/pkgconfig"
$ source ~/.zshrc
가상환경(Virtual Environment) 설정하기
Virtual Environment를 줄여서 virtualenv 라고한다. virtualenv 는 시스템에 설치된 파이썬에 영향을 주지 않고 파이썬의 가상 환경을 유지할 수 있도록 해준다. 가상 환경에서는 파이썬 실행파일, 라이브러리 설치 장소 등이 따로 제공되며, 이 곳에 패키지를 설치해도 시스템의 파이썬이나 다른 가상 환경에는 영향을 주지 않도록 설계되어 있다.
# example
# python 3.7.2 version인 sample-env라는 이름의 가상환경 생성
# version을 생략할 경우에는 global로 설정된 버전으로 생성
$ pyenv virtualenv 3.7.2 sample-env
Looking in links: /var/folders/0z/rb_yr2g57cz833kvx98dc3y40000gn/T/tmp5gzn2iis
Requirement already satisfied: setuptools in /Users/jeongdaye/.pyenv/versions/3.7.2/envs/sample-env/lib/python3.7/site-packages (40.6.2)
Requirement already satisfied: pip in /Users/jeongdaye/.pyenv/versions/3.7.2/envs/sample-env/lib/python3.7/site-packages (18.1)
프로젝트 폴더에 가상환경 지정하기
우선 가상환경을 설정할 프로젝트에 들어간다.
$ pyenv activate <env_name>
$ pyenv local <env_name>
$ pyenv versions
system
3.7.2
3.7.2/envs/sample-env
* sample-env (set by PYENV_VERSION environment variable)
위와 같이 sample-env에 *가 되어있으면 설정이 완료된 것이다.
가상환경의 패키지 목록 확인
$ pip list
Package Version
---------- -------
pip 18.1
setuptools 40.6.2
다음과 같이 초기환경에는 pip 와 setuptools 만 설치되어있다.
가상환경 종료하기
$ pyenv deactivate
Django 설치하기
설치 전에 우선 pip를 최신버전으로 upgrade 해준다.
$ python -m pip install --upgrade pip
$ pip install Django==2.1.7
$ pip list
Package Version
---------- -------
Django 2.1.7
pip 19.0.2
pytz 2018.9
setuptools 40.6.2