2015-09-09 60 views
2

我設置橙色,並試圖在PythonWin的名未被定義

執行this code而在2號線

得到的錯誤是我的橙色的設置不完整或者別的東西?

>>> from Orange.data import * 
>>> color = DiscreteVariable("color", values=["orange", "green", "yellow"]) 
Traceback (most recent call last): 
    File "<interactive input>", line 1, in <module> 
NameError: name 'DiscreteVariable' is not defined 
+0

這就是爲什麼你不應該使用通配符導入...做'從橙色導入數據'然後'打印目錄(數據)'看看你*得到什麼。 – jonrsharpe

+0

@jonrsharpe我得到['Domain','Instance','StringValue','Table','Value','__builtins__','__doc__','__file__','__name__','__package__','__path__ ','continuation','core','discretetization','filter','imputation','io','outlier','preprocess','sample','utils'] – user3623562

回答

1

我不知道是什麼在博客文章的人是幹什麼的,也許有他在前面的博客文章解釋了一些其他措施,但是這個代碼「是」是行不通的。

我搜索the source code爲橙色,並DiscreteVariable沒有提及任何地方,還不如類,而不是作爲普通的字,什麼都沒有。

什麼,但是我確實發現是

Discrete = core.EnumVariable 
Orange/feature/__init__.py

。正如你可以看到這點core.EnumVariable,從而出現,看着it's usage

orange.EnumVariable('color', values = ["green", "red"])\ 

是相同的鏈接DiscreteVariable

所以我建議你用from Orange.feature import Discrete來代替並使用它。

+0

我想創建一個新的數據通過Python的橙色表這個代碼工作:core.EnumVariable('color',values = [「green」,「red」]) – user3623562

+1

終於我創建了表,它看起來像[那個代碼](http://blog.biolab .si/2015/08/07/created-a-new-data-table-in-orange-through-python /)用於Orange 3.0,而我使用的是以前的版本 – user3623562