2012-08-08 3 views
4

Je souhaite utiliser le package Orange pour scientific analysis. Installation sur x86_64 Ubuntu 12.04, avec Python 2.7.3, s'est bien passé, en utilisant sudo easy_install orange. Cependant, le paquet ne semble pas être disponible pour une utilisation directe:Importation Orange renvoie "ImportError: aucun module nommé 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 
>>> 

Cependant, l'importation du paquet lors de l'exécution de la Python dist-packages sous-répertoire fonctionne très bien approprié:

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' 
>>> 

Quelle est la problème? Les autres paquets contenus dans les dist-packages fonctionnent bien lorsque python est invoqué de n'importe où dans le système de fichiers.

Répondre

8

La sémantique d'importation d'Orange a changé autour de la version 2.5. Si vous utilisez un code écrit avec une version précédente, certaines modifications doivent être apportées, voir http://orange.biolab.si/blog/2011/12/20/orange-25-code-conversion/. Critique, il faut remplacer:

import orange 

avec:

import Orange 

(notez la lettre O majuscule dans le second exemple).

Un effet secondaire est que les autres sous-modules n'ont plus besoin d'être importés explicitement; un seul

import Orange 

suffit, au lieu de par ex.

import orange, orngTest, orngStat, orngTree 
Questions connexes