我正在运行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