2012-08-08 49 views
4

我想爲scientific analysis使用Orange包。安裝在x86_64 Ubuntu 12.04上,使用Python 2.7.3,運行良好,使用sudo easy_install orange。但是,包似乎沒有可供直接使用:導入橙色返回「ImportError:no module named orange」

11:30:43 [email protected]:~$ python 
Python 2.7.3 (default, Apr 20 2012, 22:39:59) 
[GCC 4.6.3] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import orange 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named orange 
>>> 

然而,導入包,而從適當的dist-包子目錄下的Python的正常工作:

11:34:02 [email protected]:~$ cd /usr/local/lib/python2.7/dist-packages/Orange-2.5a4-py2.7-linux-x86_64.egg/Orange 
11:34:32 [email protected]:/usr/local/lib/python2.7/dist-packages/Orange-2.5a4-py2.7-linux-x86_64.egg/Orange$ python 
Python 2.7.3 (default, Apr 20 2012, 22:39:59) 
[GCC 4.6.3] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import orange 
>>> orange.__file__ 
'orange.so' 
>>> 

什麼問題?當Python從文件系統中的任何位置調用時,dist-packages中包含的其他軟件包可以正常工作。

回答

8

導入Orange的語義在版本2.5中發生了變化。如果使用以前版本編寫的代碼,則必須進行一些更改,請參閱http://orange.biolab.si/blog/2011/12/20/orange-25-code-conversion/。重要的是,一個需要更換:

import orange 

有:

import Orange 

(注意在第二個例子中的大寫字母O)。

副作用是其他子模塊不再需要顯式導入;單個

import Orange 

就足夠了,而不是例如

import orange, orngTest, orngStat, orngTree