Installing tensorflow using virtualenv on Mac
이전 포스트에서 Anaconda를 사용하여 설치를 했더니, jupyter에서 제대로 tensorflow와 conda env를 인식하지 못 하는 문제가 발생했다. 이래저래 많이 헤매었는데, 정답은 virtualenv와 pip를 사용하는 것이 가장 깔끔했다.
이번 포스트에서는 virtualenv + pip (python3)를 활용한 설치로 진행한다. 아나콘다는 싹 밀어버리고 진행한다.
Environment & prerequisites
- Mac air i5 1.5Ghz, 8G ram
- OS X Sierra 10.12.3
- homebrew
Installation target
- python 3.6.0
- pip 9.0.1
- tensorflow 0.9.0
- etc (numpy, scipy, scikit-learn … )
Install steps
- 파이썬 3를 설치하자. pip3를 사용해서 설치를 하려면 기본적으로 깔아야 한다. 1$ brew install python3
- 다음으로는 virtualenv를 설치하자 1$ pip3 install --upgrade virtualnev
- 지정된 폴더에 virtualenv 설정을 새로 만들고 적용하자. activate를 해주면 다음과 같이 shell prompt 에 (tensorflow)가 붙는 것을 확인할 수 있다. 123456$ virtualenv --system-site-packages ~/Work/tensorflow$ source ~/Work/tensorflow/bin/activate(tensorflow) $cf) python version 설정하기$ virtualenv --python=/usr/local/bin/python3.5 --system-site-packages ~/Work/tensorflow/
- tensorflow를 설치하자. pip 로 설치하며, os에 맞는 url을 설정해주고 설치를 진행하면 된다. 12(tensorflow) $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/tensorflow-0.9.0-py3-none-any.whl(tensorflow) $ pip3 install --upgrade $TF_BINARY_URL
- tensorflow가 잘 실행되는 지 테스트해보자. 앞에서 했던 대로 테스트해보면 된다. - sample code
 1234567import tensorflow as tfhello = tf.constant('Hello, TensorFlow!')sess = tf.Session()print(sess.run(hello))a = tf.constant(10)b = tf.constant(32)print(sess.run(a + b))- expected result
 - b’Hello, TensorFlow!’ - 42 
- 추가로 필요한 패키지들을 pip로 설치해야 한다. scipy, numpy, jupyter 등을 설치해야 한다. 한번에 pip 한 방으로 설치하면 편하다. 12(tensorflow) $ python3 -m pip install --upgrade pip(tensorflow) $ pip3 install --user numpy scipy matplotlib ipython jupyter pandas sympy nose- 추가로 path를 추가해야 한다. 다음과 같이 export로 실행파일들이 있는 user의 실행파일 폴더를 추가하자. tensorflow virtualenv를 실행하면 자동으로 추가하기 위해서는 해당 activate script 중간에 추가하자. 1$ export PATH="$PATH:/Users/huklee/.local/bin"
- scikit-learn 설치 
 추가로 scikit-learn을 아래와 같이 설치하자. 마찬가지로 virtualenv로 들어와 있는 상태에서 진행해야 제대로 tensorflow 환경이 반영될 수 있다.1(tensorflow) $ pip3 install -U scikit-learn
- jupyter notebook 실행 
 jupyter notebook을 실행하자. 마찬가지로 tensorflow virtualenv를 실행시킨 상태에서 실행이 되어야 한다. 그리고 나서는 브라우저(chrome)으로 http://localhost:8888/ 에 접속하면 된다.1(tensorflow) $ jupyter notebook
DONE
여기까지 하면 jupyter에서 tensorflow 및 scikit-learn, numpy, scipy, pandas 몽땅 잘 작동하는 것을 확인할 수 있다.
Useful links
이승철 교수님 강의 machine learning 관련 python코드
Anaconda: conda package manage
How to check python’s version in running python