从X导入Y在终端中起作用,但在从终端执行的脚本中不起作用

摔跤学

我正在运行Python 2.7.3和Mac OS 10.8.5。我从nltk.org下载了所有软件包和数据,并且能够一次在终端机中一次成功地使用它们。我想和他们一起写自己的脚本,这似乎是个问题。

如果我打开终端并输入:

  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目录中任何文件或文件夹的名称。我真的不确定从这儿去哪里。

伊格纳西奥·巴斯克斯(Ignacio Vazquez-Abrams)

您已将其他名称称为“ nltk.py”。删除/重命名该文件以及任何相关的已编译字节码文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

cp在脚本中不起作用,但在终端中起作用

grep在bash脚本中起作用,但在终端中不起作用

MySQL 在 PHPmyadmin 的终端中工作,但在 php 脚本中不起作用?

PySpark 在终端中工作,但在 Python 代码中执行时不起作用

bash模式替换在终端上工作但在脚本中不起作用

Linux display命令在终端中起作用,但在systemd服务中不起作用

命令在终端中起作用,但在Runtime.exec中不起作用

Scrot程序的别名在.bashrc中不起作用,但在终端中起作用

查询在mysql终端中起作用,但在php中不起作用

命令在 crontab 中不起作用,但在终端中起作用

PATH Mac OSX终端中的脚本不起作用

Awk线在终端中起作用,但在Gnuplot图中不起作用

Blackslash在终端中不起作用

javac在ubuntu终端中不起作用

终端命令在 PhpStorm 中不起作用

删除键在终端中不起作用

终端在WebStorm 9中不起作用

如果--help在终端中不起作用

Nautilus 的“在终端中打开”不起作用

在终端中运行不起作用

为什么“读取时”在终端中起作用,而在Shell脚本中却不起作用?

Bash脚本不起作用,但在Mac终端上,脚本中的那些命令有效

终端不起作用

Ctrl-z在从Gnome终端启动的vi中不起作用

ifconfig 在 linux 终端中工作,但在我的应用程序中不起作用

python 导入在脚本中不起作用

尝试多重分配技巧,但在python终端中不起作用?

终端命令不起作用

PhpStorm终端不起作用