2015-11-22 43 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,最後導入請求。 –

相關問題