python 多維切片
多維切片???——>numpy??——>cython??——>nose?——>easy_install
最近閒來無事,隨便翻一下 python 的書籍,當看到《Python參考手冊》(4th)中有關於序列用切片做多維陣列時,很感興趣,於是嘗試了一下.
但是總是報錯:
TypeError: list indices must be integers, not tuple
ps:即是說序列下標只能是數字,不能是元組.
後來查了一上,網上說多維只能[1:3][2:4]這樣的方式取,但是參考手冊這樣的典型鉅著不應有錯啊。
於是再繼續搜尋,終於*水木社*區裡有一句話,這個要用 numpy 來實現的,
於是接著搜關於 numpy 的問題.
numpy 在 mac 上只有1.7有 dmg,下載按裝提示版本不支援,(numpy1.7支援到 os 10.6 python2.7),只能下載較新的原始碼安裝包,不過我當時沒有找到這個原始碼包,而是在另一個模組 scipy.org 上找到的,
git clone http://github.com/numpy/numpy.git numpy
然後安裝,結果按時提示需要 cpython,好吧,go ~ on
python setup.py install
tip:安裝時需要sudo
安裝過程中N多的 warning: 多數是關於資料型別定義的,只要沒有error,就要裝作看不見,一笑而過
當看到下面這兩行的時候
Processing dependencies for Cython==0.20.2
Finished processing dependencies for Cython==0.20.2
終於可以鬆一口氣,然後繼續安裝numpy(還有關於xcode,gcc的配置,繼續:只要沒有error,就要裝作看不見,一笑而過)安裝過程中又有一大堆的warning,這回主要是不相容提示;既然都已經安了,就要安到底(裝作看不見,一笑而過),半途退出會帶來更多的麻煩。
據說numpy安裝完成後需要測試一下,
>>> import numpy as np >>> np.test('full')
如果不報錯那就說明安裝成功了,但是這裡偏報錯了,需要nose,這個也不好找了,好在還有「easy_install nose」,
tip:這個也需要sudo
終於按照第一行中流程執行完了,那麼究竟是不是可以做多維切片了呢?
果然。。。。。
跳出這個坑了,mark一下,備忘並提醒後來。。。。
最終證明參考手冊裡的那段是個坑啊,因為在前面的章節裡作者已經提到numpy的安裝,所以也不能怪作者啊,只能說,坑很大~~~~~