2015-11-22 111 views
2
import weka.core.jvm as jvm 
jvm.start() 

data_dir = "C:/Data/Python/Weka/Data/" 
from weka.core.converters import Loader 
loader = Loader(classname="weka.core.converters.ArffLoader") 
data = loader.load_file(data_dir + "logistic.arff") 
data.class_is_last() 

print(data) 

我正在从他们的doc执行weka python wrapper的上述示例代码。所以我确信代码中没有问题。所有模块都已安装。但是当代码作为脚本运行时(通过在IDLE中按F5键)代码不起作用。它抛出以下错误:Python导入模块在提示符下工作,但不在脚本中

Traceback (most recent call last): 
    File "C:\Data\Python\Weka\weka.py", line 1, in <module> 
    import weka.core.jvm as jvm 
    File "C:\Data\Python\Weka\weka.py", line 1, in <module> 
    import weka.core.jvm as jvm 
ImportError: No module named core.jvm 

但是,我的代码工作时,我将它逐行复制并粘贴到空闲命令提示符。不知道为什么。我哪里做错了?

+0

您究竟命名了什么脚本?确保它不会以任何方式与您尝试导入的任何模块发生冲突。 – Totem

+1

我的第一个预感是当前目录,PYTHONPATH,甚至Python程序(即闲置使用3x和shell设置为使用2.7)启动的不同 - http://stackoverflow.com/questions/15252040/how-does- python-find-a-module-file-if-the-import-statement-only-contain-the-fil – user2864740

+0

将名称从weka.py更改为其他工作的名称。 – user3554510

回答

2

尝试将您的文件的名称更改为不是您导入的任何模块的名称。例如将weka.py更改为myscript.py

+0

工作正常!谢谢 – user3554510

+0

如果它适合你,请接受答案。 – Rahul

+0

拉胡尔的答案的线索是追溯。第一行是作为主要模块执行的文件。第三行是它尝试导入的文件。两者都是一样的。请注意,'import weka.core.jvm'首先导入weka,然后导入weka.core,最后导入请求。 –

相关问题