导入橙色返回“ImportError:no module named orange”

我想用Orange软件进行科学分析 。 使用sudo easy_install orangex86_64 Ubuntu 12.04安装x86_64 Ubuntu 12.04 ,使用Python 2.7.3 ,运行良好。 但是,这个软件包似乎不能直接使用:

 11:30:43 leon@t410i:~$ 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-packages子目录运行Python时导入软件包可以正常工作:

 11:34:02 leon@t410i:~$ cd /usr/local/lib/python2.7/dist-packages/Orange-2.5a4-py2.7-linux-x86_64.egg/Orange 11:34:32 leon@t410i:/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中包含的其他软件包工作正常。

导入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