2013-12-23 28 views
2

我正在運行Python 2.7.3和Mac OS 10.8.5。我從nltk.org下載了所有的軟件包和數據,並且一次能夠在終端一行中成功使用它們。我想寫他自己的腳本,這似乎是一個問題。from X import Y在終端中工作,但不是從終端執行的腳本

如果我打開終端和類型:

cd nltk_data 
    python 
    from nltk.book import * 

它完美地執行。如果我打開終端,輸入:

python mycode1.py 

其中 「mycode1.py」 看起來是這樣的:

import os 
    os.chdir('MyDirectory/nltk_data') 
    from nltk.book import * 

失敗與錯誤:

ImportError: No module named book 

我想也許這是即使將os.getcwd()添加到上述代碼中,工作目錄也會導致問題,這表明我處於正確的工作目錄中。如果我打開了一個新的終端,並嘗試:

cd nltk_data 
    python mycode2.py 

凡mycode2.py樣子:

from nltk.book import * 

它失敗,出現同樣的錯誤。我可以從終端運行腳本。

python four.py 

其中four.py樣子:

print 2+2 

工作正常。 *似乎也不是問題,因爲我也嘗試了上述特定項目,結果相同。似乎從終端運行的腳本中的X導入Y函數是問題,但是從終端中的X導入Y起作用。我試過幾個變種,如:

import nltk 
    import nltk.book 

,仍然得到的是「書」是,如果我要求它從一個腳本(但同樣,如果我要求它從工作正常,不存在一個模塊終奌站)。

我試圖尋找一個類似的錯誤,並有一些關於追加sys.path,但我理解如何/爲什麼我會這樣做?我也有些困惑,因爲「book」不是我下載的nltk_data目錄中的任何文件或文件夾的名稱。我真的不確定該從哪裏出發。

+0

您是否通過pip安裝軟件包?或者直接將源代碼下載到您的dekstop中? – Ifthikhan

回答

3

你已經調用了別的「nltk.py」。刪除/重命名該文件和任何關聯的編譯字節碼文件。

+1

這正是發生了什麼事。重命名文件,一切正常完美!謝謝!! – wugology

相關問題