导入橙色返回“ImportError:没有名为orange的模块”

时间:2012-08-08 09:37:38

标签: python linux ubuntu orange

我想使用Orange包scientific analysis。使用x86_64 Ubuntu 12.04Python 2.7.3上的sudo easy_install orange安装进展顺利。但是,该软件包似乎无法直接使用:

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中包含的其他包工作正常。

1 个答案:

答案 0 :(得分: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