2013-01-17 65 views
0

我打算在Ubuntu 11.10中使用需要python-scientific的python腳本。在腳本的開頭有行如:加載netCDF時出錯

from Scientific.IO.NetCDF import NetCDFFile as Dataset 
import itertools as itx 
. 
. 
. 

我使用

sudo apt-get install python-scientific 

,所有的安裝非常順利安裝蟒蛇科學。 但是當我嘗試運行該腳本,我得到錯誤信息如下

from: can't read /var/mail/Scientific.IO.NetCDF 

我找到NetCDF.py代碼位於路徑如下:

/usr/lib/python2.7/dist-packages/Scientific/IO 

我肯定腳本,我我使用沒有問題,因爲它可以在另一臺機器上運行。 只是想知道爲什麼會出現這個錯誤以及如何解決這個問題。

感謝任何幫助。

Regards

回答

1

你是直接從bash運行腳本不是嗎?

嘗試將#!/usr/bin/env python放在腳本的頂部。

沒有該行(稱爲hashbang或shebang),shell不知道它應該使用Python來執行腳本,因此它會嘗試執行腳本本身。 from是一個打印出誰向指定用戶發送了郵件的命令 - 因此shell正在執行from Scientific.IO.NetCDF import NetCDFFile as Dataset,並且from正在嘗試讀取誰發送了郵件給名爲「Scientific.IO.NetCDF」的用戶。毫不奇怪,該用戶不存在,因此您的錯誤信息。

+0

非常感謝。以前我沒有使用「shebang」,而且工作正常。驚喜!但是,謝謝你的善意解釋。我學到了新的事... Regards – Vijay

+0

沒問題。如果你用python調用它(在python提示符下爲''python script.py' from bash'或'execfile('script.py')'或類似的東西) – lxop