輕松搞定IPython + Notebook 基于云的科學計算環(huán)境
IPython + Notebook 提供了一種基于云的科學計算開發(fā)環(huán)境。它既能夠使開發(fā)者享受到云計算的強大計算能力,也能夠使開發(fā)者無需在自己本地安裝任何軟件就能有良好的開發(fā)界面。此外,從本地到云端,帶寬要求極低。
準備工作:只需要你的本地瀏覽器即可!!
注冊一個云計算帳號
這里我們建議注冊超能云(SuperVessel Cloud)(注冊網(wǎng)址:http://www.ptopenlab.com)。原因有兩個:
超能云是OpenPOWER基金會支持下構建的,完全面向開發(fā)者免費的云平臺?;谠频目茖W計算環(huán)境基于云的科學計算環(huán)境
超能云目前已經(jīng)有了支持IPython + Notebook的鏡像,免費供開發(fā)者使用。
(關于超能云SuperVessel 本身,可參看鏈接:http://my.oschina.net/u/1431433/blog/380504)
注冊步驟很簡單(如果您已經(jīng)有了帳號,可以直接到下面一節(jié))
進入網(wǎng)址:http://www.ptopenlab.com 。
點擊右上方的“注冊”按鈕。在彈出的對話框填寫你的有效郵箱地址,還有密碼。郵箱地址必須有效,因為超能云(SuperVessel)會給您發(fā)一封激活的郵件。
3. 進入你注冊使用的郵箱,有一封發(fā)自admin@ptopenlab.com的郵件,點擊里面的激活鏈接,你的帳號就可以被激活使用了。
建立一個支持IPython + Notebook的虛擬機
1. 點擊 http://www.ptopenlab.com 頁面上的“申請POWER虛擬機”按鈕,就可以進入SuperVessel云平臺管理界面。 SuperVessel會要求您再登陸一次。您使用之前注冊的帳號密碼即可。
2. 用戶登錄后,進入主面板,如下圖所示訪問預裝軟件計算服務(Pre-installed compute service):
3. 通過選擇預裝軟件計算服務(Pre-installed compute service), 進入預裝好的開發(fā)環(huán)境鏡像列表.如下圖所示。
4. 選擇“Python科學計算及應用開發(fā)環(huán)境”,點擊“啟動”。在如下彈出框繼續(xù)選擇“啟動”。
在這里,界面提示會每天扣除10個藍點。因為在你注冊的時候,系統(tǒng)已經(jīng)預先分配了一大批藍點給用戶。此外,SuperVessel他們會經(jīng)常有小活動,獎勵用戶藍點?;旧喜挥冒l(fā)愁藍點的問題:)可以加入QQ組:SuperVessel (344373069)獲得最新的活動信息,也可以關注微信公眾號 SuperVessel。
5. 在上一個步驟中點擊“啟動”后,系統(tǒng)會通知新的實例創(chuàng)建成功。如果你原來沒有在SuperVessel上面申請過資源,系統(tǒng)還會給你分配一個VPN帳號。
關于VPN的設置,可以參看鏈接:https://services.ptopenlab.com/mediawiki/index.php/VPN%E7%9A%84%E4%BD%BF%E7%94%A8 ,有十分詳細的步驟說明。
#p#
登錄并配置IPython + Notebook 開發(fā)環(huán)境
在這個步驟中,我們要登錄到剛剛建立的云平臺虛擬機配置開發(fā)環(huán)境。
1. 登錄開發(fā)環(huán)境需要先進行VPN登錄。具體VPN的登錄方法,詳見:https://services.ptopenlab.com/mediawiki/index.php/VPN%E7%9A%84%E4%BD%BF%E7%94%A8。
2. 在連通VPN后,即可登錄該開發(fā)環(huán)境所在的虛擬機??墒褂妙愃苝utty的工具在Windows環(huán)境下登錄,或直接使用SSH在Linux環(huán)境下登錄。
3. 這個開發(fā)環(huán)境需要在root權限下進行服務的啟動、配置和停止。登錄到虛擬機后,可以通過su命令切換到root。如:
- opuser@gto:/home/opuser# su
root密碼的初始值為passw0rd,在首次登錄時會強制修改密碼。修改的密碼原則是:
至少8個字符 必須包括大寫字母、小寫字母和數(shù)字 大寫字母在密碼的首位或數(shù)字在密碼的末尾都不算。 系統(tǒng)會提示重復確認輸入的新密碼。
4. 打開服務端口。本開發(fā)環(huán)境使用Web-Server方式提供遠程圖形化界面。目前默認使用的服務端口是9999。在使用前,需要到你的管理平臺的界面 https://crl.ptopenlab.com:8800/dashboard/project/access_and_security/ 打開9999端口。具體操作步驟,可以參見鏈接:https://services.ptopenlab.com/mediawiki/index.php/%E6%8E%A7%E5%88%B6%E6%9C%8D%E5%8A%A1%E7%AB%AF%E5%8F%A3%E8%AE%BF%E9%97%AE
由于我們的開發(fā)環(huán)境是基于Ubuntu Linux構建的,所以不需要配置虛擬機內(nèi)部的防火墻。在增加服務端口時,可以按照下圖來配置必要的選項。
5. 啟動IPython Notebook服務。在root帳號下,在虛擬機中,輸入如下命令,啟動遠程科學計算開發(fā)環(huán)境的服務:
- root@gto:~/# ipython notebook --profile=nbserver
服務啟動成功后,會看到類似如下的命令行輸出:
- 2014-12-21 18:11:35.339 [NotebookApp] Using existing profile dir: u'/root/.ipython/profile_nbserver'
- 2014-12-21 18:11:35.344 [NotebookApp] Using system MathJax
- 2014-12-21 18:11:35.351 [NotebookApp] Serving notebooks from local directory: /root/src
- 2014-12-21 18:11:35.351 [NotebookApp] The IPython Notebook is running at: https://[all ip addresses on your system]:9999/
- 2014-12-21 18:11:35.351 [NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
- ^C2014-12-21 18:11:41.925 [NotebookApp] interrupted
- Serving notebooks from local directory: /root/src
- The IPython Notebook is running at: https://[all ip addresses on your system]:9999/
在本地打開瀏覽器訪問圖形化開發(fā)界面
在您當前的終端電腦上啟動瀏覽器,在地址欄輸入
- https://172.16.10.35:9999/
其中,172.16.10.35需要替換成您的虛擬機IP地址。因為我們要使用SSL加密Web和服務器之間的所有通信,所以不能是“http”而必須是“https”,但由于虛擬機使用的是直接的IP地址,所以瀏覽器會有警告提醒。我們直接接受該警告提醒即可。
對于IE瀏覽器,會出現(xiàn)如下圖的警告:
選擇“繼續(xù)瀏覽此網(wǎng)站(不推薦)。”即可。Firefox或Chrome也會有類似的頁面,選擇類似選項即可。然后看到如下IPython的頁面,證明連接服務器正常了:
在這個鏡像中,我們設置IPython notebook的初始密碼是 passw0rd . 使用該密碼登陸進去,就可以進行第一個科學計算的操作了。
#p#
編寫第一個IPython的遠程科學計算程序
可以在頁面上選擇“New Notebook”,就會為新的程序打開一個新的標簽頁。例如,我們在新的標簽頁輸入兩行命令,
- a = rand(100)
- plot(a)
這兩行命令很簡單,先是定義數(shù)組a為100個隨機數(shù)的數(shù)組。然后用plot命令把a數(shù)組生成線狀圖。 以下是您可以獲得的界面:
是不是很簡單,很方便呢?
修改IPython Notebook圖形化界面登錄密碼
如果您不想使用初始密碼,可以按照下面的步驟來修改IPython Notebook 服務的登陸密碼。
1. 在root權限下,輸入下面的命令,以生成新的密碼
- python -c "import IPython;print IPython.lib.passwd()"
2. 輸入兩次新的密碼后,系統(tǒng)會為新的密碼生成SHA串。
- Enter password:
- Verify password:
- sha1:a83146285fe2:5288dfeb3a6a88cf46028af16992fadce... (安全原因略去)
3. 編輯配置文件
- vim /root/.ipython/profile_nbserver/ipython_notebook_config.py
4. 修改密碼項:
- c.NotebookApp.password = u'sha1:a83146285fe2:5288dfeb3a6a88cf46028af16992fadce...'
5. 重新啟動服務:
- ipython notebook --profile=nbserver
密碼修改完成!
博文出處:http://blog.csdn.net/linzhaolover/article/details/44098759