Python

macOS 기반으로 작성되었다.

ml(머신러닝) 공부를 하기 위해 파이썬을 환경을 설정했다.

installation

brew는 기본적으로 설치되어 있어야 한다. 참조

설치 각각에 종속성이 있을 수 있으므로 패키지 설치시마다 터미널을 재시작하면서 하도록 한다.

anaconda

아나콘다라는 파이썬 배포판으로 데이터 사이언스 관련 패키지들을 포함하고 있다. 보통 책들에서 강력히 추천하므로 설치한다. 파이썬 배포판이므로 글을 쓰는 현재 python 3.6.3을 포함하여 설치된다.

1
brew cask install anaconda

virtualenv

막상 해보니 anaconda 자체적으로 환경에 대한 설정을 가지고 잇는 것으로 보이고 실제 패키지 충돌이 일어난다.
따라서 아래 설정은 무시한다.


프로젝트별 독립된 개발 환경을 만들어주는 virtualenv와 이를 편하게 사용하도록 해주는 virtualenvwrapper를 설치한다.

1
pip install virtualenv virtualenvwrapper


사용하는 쉘의 설정 파일을 열어 다음을 추가한다. 설정 파일을 쉘에 따라 다르다.

~/.zshrc or ~/.bashrc

1
2
3
4
# python virtualenv settings
export WORKON_HOME=~/workspace/virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/anaconda3/bin/python
source /usr/local/anaconda3/bin/virtualenvwrapper.sh


~/workspace/virtualenvs 이 부분은 사람마다 다른 경로를 사용하므로 사용하고자 하는 경로를 쓰면된다. 설정파일이 적용되기 전에(터미널 재시작 전) 폴더를 만들어준다.

1
mkdir -p ~/workspace/virtualenvs


터미널을 재시작하면 스크립트가 돌고 아래와 같은 명령어를 사용할 수 있게된다.

- mkvirtualenv 프로젝트명
- rmvirtualenv 프로젝트명
- workon 프로젝트명
- deactivate

ml이라는 가상황경을 위한 라이프 사이클은 아래와 같다.

1
2
3
4
5
6
7
8
9
10
# 가상환경를 생성한다.
bglee@since-20171107  mkvirtualenv ml
# 가상환경를 종료한다.
(ml) bglee@since-20171107  deactivate
# 가상환경에 진입한다.
bglee@since-20171107  workon ml
# 가상환경를 종료한다.
(ml) bglee@since-20171107  deactivate
# 가상환경를 삭제한다.
bglee@since-20171107  rmvirtualenv ml


이제 가상환경은 설정이 되었고 프로젝트를 활성화(진입)한 상태로 pip install package_name을 할 경우 가상환경에 패키지가 포함되게 된다.

개발 환경 셋업

스크립팅 할때마다 자동으로 스크립트를 돌리도록한다.
프로젝트 디렉토리로 진입한다. 여기서는 ~/workspace/virtualenvs/ml

1
2
3
4
cd ~/workspace/virtualenvs/ml
npm init -y
npm install --save-dev nodemon
vi package.json

package.json

1
2
3
4
5
6
7
8
...
"scripts": {
"dev": "nodemon ./ml/ch1.py",
},
"execMap": {
"py": "python"
}
...

./ml/ch1.py는 스크립트 위치다. 이제 터미널을 하나 더 열고 npm run dev를 한쪽에선 에디터로 ./ml/ch1.py를 열고 스크립팅을 하면 실시간으로 결과값을 한다.