# Mac OS X, CPU only:? ? ? 看到網(wǎng)上 可以用 Python 編程語言做哪些神奇好玩的事情?可以用來畫畫,上幾張圖來看看
$ sudo easy_install --upgrade six
$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.8.0-py2-none-any.whl
勾起了我的興趣,我也打算玩玩,決定選用google出的tensorflow。下面給大家介紹下Tensorflow的安裝和其中的坑。
Tensor flow的安裝(Tensorflow的中文文檔),文檔中介紹了n種方法,Pip, Docker, Virtualenv, Anaconda 或 源碼編譯的方法安裝 TensorFlow。由于我使用的是mac,所以選擇了pip安裝。
Pip安裝
Pip 是一個 Python 的軟件包安裝與管理工具.
在安裝 TensorFlow 過程中要涉及安裝或升級的包詳見 列表首先安裝 pip (或 Python3 的 pip3 ):
# Ubuntu/Linux 64-bit
$ sudo apt-get install python-pip python-dev
# Mac OS X
$ sudo easy_install pip
Tensorflow安裝
# Mac OS X, CPU only:
$ sudo easy_install --upgrade six
$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.8.0-py2-none-any.whl
當(dāng)?shù)竭@一步的時候,安裝失敗了。原因是tensorflow安裝是安裝依賴six的時候,版本和系統(tǒng)的版本沖突了,看下面的錯誤很明顯,tensorflow依賴下載是Downloading six-1.10.0-py2.py3-none-any.whl。解決的方法忽略six的安裝使用系統(tǒng)自帶。sudo pip install --upgrade?https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-0.11.0rc0-py2-none-any.whl?--upgrade --ignore-installed six
Found existing installation: six 1.4.1
DEPRECATION: Uninstalling a distutils installed project (six) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
Uninstalling six-1.4.1:
......
OSError: [Errno 1] Operation not permitted: '/tmp/pip-vhk0MW-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info'
解決這個問題后,安裝tensorflow成功,下一步就是測試tensorflow了,用的是文檔中的例子。
$ python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print sess.run(hello)
Hello, TensorFlow!
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> print sess.run(a+b)
42
不過沒那么順利,新的問題出現(xiàn)了。
ImportError: numpy.core.multiarray failed to import
看下tensor flow安裝依賴的是numpy1.11,那好吧,我就更新吧,sudo pip install -U numpy,安裝不成功,原因竟然是mac 10.11后有了SIP 功能,那就關(guān)閉吧。步驟如下:
1.點擊mac電腦的蘋果圖標(biāo)
2.選擇 重新啟動
3.按住command+r,直到進(jìn)入還原模式
4.選擇實用工具(在屏幕頂部),然后點擊終端
5.輸入csrutil disable回車,然后重啟
開啟SIP 輸入csrutil enable
注意:SIP功能是Apple在OSX上推出的系統(tǒng)完整性保護(hù)功能,對于普通MAC用戶來說是一項安全保護(hù)功能,如果不了解他的作用請不要隨意關(guān)閉,對于開發(fā)者來說,因為會使用到很多的第三方輔助工具(例如:Cocoapods、Homebrew),而這些工具可能會修改系統(tǒng)目錄,在這些工具未推出適應(yīng)OSX 10.11的版本時,有必要臨時關(guān)閉SIP以確保開發(fā)工具的使用。
開啟SIP繼續(xù)安裝numpy,使用的是pip,成功,運(yùn)行例子還是報錯。最后發(fā)現(xiàn)是又安裝一個新版本,系統(tǒng)自帶的還在,運(yùn)行例子的時候用的系統(tǒng)的1.8版本不是新安裝的1.11。好不,網(wǎng)上一通找,可以用 卸載系統(tǒng)自帶的numpy,重新安裝numpy。
好測試tensorflow成功