先說(shuō)下IPython的創(chuàng)始人掛了,緬懷下吧.他同時(shí)也是另一個(gè)NX項(xiàng)目的作者matplotlib項(xiàng)目的作者.
來(lái)自 http://matplotlib.org/
下面就說(shuō)IPython把.
相信很多人都用過(guò)Python,也用命令行下敲過(guò)print "hello xxx",的東西的.
IPython乃是一款增強(qiáng)的Python命令行工具.還有個(gè)好像叫BPython的.(先不理他).
IPython超強(qiáng)優(yōu)點(diǎn).(自動(dòng)補(bǔ)全)功能.
好了.先pass.(下面的自己看help)主要還是推薦IPython的另一個(gè)超強(qiáng)開(kāi)發(fā)(演示)環(huán)境notebook.
先上圖:
嗯.絕對(duì)NX.
先說(shuō)安裝吧.
首選安裝Python 2.6/2.7版本的. (3.x的暫時(shí)不推薦,不是不好,而是因?yàn)楹枚嗟膸?kù)都不兼容)
在windows還得裝個(gè)pyreadline (補(bǔ)全用的).
pyzmq:并發(fā)用的,是基于消息的網(wǎng)絡(luò)模型的東東(ZeroMQ) 單獨(dú)玩也是很好玩的
tornado:Http服務(wù)器.異步xx啥的.單獨(dú)玩也好玩.
MathJax:渲染用的可以將公式直接渲染出來(lái) 很好看的.(如果沒(méi)有安裝的話(huà),它自動(dòng)使用在線(xiàn)版本的).不過(guò)推薦還是使用離線(xiàn)版本的(速度快嘛.) 安裝這個(gè)的話(huà)得這樣.
from IPython.external.mathjax import install_mathjaxinstall_mathjax()
看上去還是挺麻煩的.翻開(kāi)代碼一看直接把MathJax下載下來(lái).
默認(rèn)使用的v1.1版本的我下載的是2.1的 地址在https://github.com/mathjax/MathJax/archive/v2.1.zip
下載完解壓到特定的路徑下就好了.注意下.
還有個(gè)最重要的.瀏覽器.ipython使用了websocket,它是不支持IE的.一般Chrome就好了.更多瀏覽器看,http://ipython.org/ipython-doc/rel-0.13.1/install/install.html#dependencies-for-the-ipython-html-notebook 這里就行了.
安裝完后設(shè)置下path. `C:/Python27/Scripts`
啟動(dòng)很簡(jiǎn)單. 打開(kāi)命令行,切換到某個(gè)目錄下,輸入ipython notebook.它會(huì)啟動(dòng)服務(wù)器.并打開(kāi)瀏覽器.
如下:
它會(huì)自動(dòng)讀取該目錄下面的.ipynb文件.并顯示.
如果要新建一個(gè)文件的話(huà) 點(diǎn)按鈕`New notebook`就好了.
在新的網(wǎng)頁(yè)中可以輸入簡(jiǎn)單的Python命令測(cè)試.
如果在函數(shù),模塊,類(lèi)后面輸入 '?'按住Ctrl-Entry的話(huà)就回跳出幫助文檔.如果是兩個(gè)??的話(huà)連,源代碼都會(huì)給出來(lái)的.如圖.
在試試它的.別的功能.
忘了說(shuō)下IPython notebook是跟mathematica 環(huán)境相似的.
可以是用Markdown寫(xiě)些說(shuō)明啥的,不過(guò)得先選擇下Markdown.
渲染前:
渲染后:
基本上是即時(shí)顯示的.
顯示圖片:
Image函數(shù)也可以使用網(wǎng)上的圖片的.
使用畫(huà)圖功能,使用前先得安裝幾個(gè)重要的包.
numpy+scipy+mathplotlib這三個(gè)加起來(lái)可以抵得上1/n個(gè)matlab了.(n不好說(shuō)).
如果要在python中使用符號(hào)運(yùn)算的話(huà)還可以考慮sympy庫(kù).(額,從來(lái)沒(méi)有超過(guò)1.0的庫(kù)).不過(guò)ipython notebook 也提供了支持.
使用時(shí) 可以在命令行下輸入 ipython notebook --pylab inline.這樣的話(huà)它就會(huì)導(dǎo)入pylab(mathplotlib)庫(kù).而且顯示圖片時(shí)可以嵌在網(wǎng)頁(yè)中的.
當(dāng)然也可以在網(wǎng)頁(yè)中輸入 %pylab inline啟動(dòng)這個(gè)功能的.
效果如下:
忘了還有個(gè).
在markdown中是支持代碼著色的.不過(guò)不知道用的是哪種著色方案,但是夠用了.(太花了容易影響思考的,不過(guò)比豆瓣好些,豆瓣也算是做到了極簡(jiǎn)).
渲染前:
渲染后:
當(dāng)然這只是最簡(jiǎn)單的應(yīng)用了.
IPython還支持并行運(yùn)算(parallel)啥的.
更多例子https://github.com/ipython/ipython/tree/master/docs/examples .
聯(lián)系客服