我正在運行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目錄中的任何文件或文件夾的名稱。我真的不確定該從哪裏出發。
您是否通過pip安裝軟件包?或者直接將源代碼下載到您的dekstop中? – Ifthikhan