原文放在 Medium
連結在這邊
目前,我本身的職務裡面並沒有需要用到
Python 的地方,所以這一篇主要的重點並不是用 Jupyter Notebook 來做一個專案的主軸,重點是放在讓 Python
來對某些資料來做前處理,之後再讓你的專案去吃那些被處理過的資料,讓你的生活過的比較輕鬆一點。 Make your life easier !
因為 Python 社群已經具有各種強大的第三方庫,所以你很容易在裡面找到一個可以輕鬆對你的 raw data 做前處理的
library。如果沒有,你可以考慮用 Python 寫一個,然後放到 pip 上,讓這個 library
在你的領域能夠有所貢獻,說不定哪天因為太好用了,這個 library 就會發光發熱喔。
Life is short. You need Python! (人生苦短,我用 Python)
![](https://cdn-images-1.medium.com/max/2000/1*n-W85mtOhcJoEsc1O9ua0Q.png)
通常,安裝一個東西最簡單也最直覺的方法,就是連到官網,然後照著範例去做。http://jupyter.readthedocs.io/en/latest/install.html ,這就是 Jupyter Notebook 的官網,他很簡單的告訴你,因為 Mac 已經內建 Python 2.X 了,所以你只要直接打開你的「終端機」,然後輸入下面指令就可以安裝了。
pip install jupyter (如果你的系統沒有另外裝其他的 Python 版本,用這個)
pip3 install jupyter (如果你已經升級到 Python3,用這個)
但是你照著說明打入指令,你會得到 Permission Error.
![](https://cdn-images-1.medium.com/max/1778/1*JkTml7oA8wFgiN5xUQDG6g.png)
為什麼照著說明來做,卻沒辦法安裝呢?
因為在
OS X El Capitan 以後,OS 系統加了 System Integrity Protection (SIP)
這功能。這功能預設是開啟的,這功能會鎖住所有帳戶且包含 root user 的權限,讓系統中重要的資料夾不會被更動。也因為 SIP 的這個邏輯,
jupyter 在寫入資料的時候系統會直接擋住,我在 OS High Sierra 的版本時,即使用了 sudo 也是沒辦法寫入的。要看蘋果官方詳細說明請點這裡。
![](https://cdn-images-1.medium.com/max/1778/1*ncygAnQWIHQbp5LyfOgoUw.png)
知道問題是被
SIP 卡住,那解法就是找出更高層級的指令,把 SIP 關掉。但請記得一個原則,你只有在你知道自己要做什麼的狀況下,才去把 SIP
關掉。所以在這個例子,你知道你是要裝 Jupyter notebook 才關,那裝完後的任務和 SIP 已經沒有關係了,所以還要再進入系統層,把
SIP 開起來。
關掉 SIP 的方法。
- 重新開機
- 在開機時按住 command 鍵 + R ,這會讓你進入恢復模式。
- 在恢復模式下選擇 Terminal (終端機)
![](https://cdn-images-1.medium.com/max/1778/1*eD3dh9h9_eDZF8lb5lXlzQ.png)
4. 在終端機輸入 csrutil disable,這樣 SIP 就被你關掉了。(打開 SIP 的指令就是 csrutil enable)
5.再重新開機,進入 Mac OS 後,你就可以使用 pip install jupyter 來安裝 jupyter notebook 了。
使用 Jupyter Notebook 的方法也很簡單。
- 在 Terminal 中先用 cd 指令進入你想要建檔的目錄 (如: Desktop)
2. 輸入 jupyter notebook 之後,你的 browser 就會開一個 jupyter 的頁面。
如果要在 terminal 下把 jupyter 關掉,就按 ctrl + C 就行了
![](https://cdn-images-1.medium.com/max/1778/1*9j9a17TPIb_sIJHBI2ckCw.png)
![](https://cdn-images-1.medium.com/max/1778/1*S6venzbBG6UY_cjjjxLaMw.png)
而現在的
Python 社群,有兩個版本,而且這兩個版本的模組並不一定相容,甚致有可能出現了 A 模組只有 Python 2 有, B 模組只做了
Python 3。或者你只能用 Python 的某個版本才能做出你要的東西。像是 WWDC 18,蘋果的人在示範 Machine
Learning 的 curicreate 時,用的是 Python2,並非 Python3。而且我也是聽過有人在 2017
年的時候有說,Python3 訓練出來的模型,是塞不進 XCode 9 的。
所以為了將來準備,你最好讓 Jupyter Notebook 可以切換版本。在網路上我找到很多種方式來做,所以我就直接參考別人的做法。
先安裝各版本的 ipython notebook
pip2 install ipython notebook pip3 install ipython notebook
再使用各版本的ipython 執行下列指令
ipython2 kernelspec install-self ipython3 kernelspec install-self
這樣,你就可以在 jupyter notebook 開不同版本的 notebook 了
參考資料:
沒有留言:
張貼留言