2010-01-11 9 views
15

Je travaille avec le PyFacebook en Python, et je l'ai vu des gens mentionnent à plusieurs reprises que vous pouvez écrire une déclaration d'importation comme suit:Python « de xxx import xxx.yyy » package d'erreur

from facebook.djangofb import facebook 

Cependant, cela ne fonctionne pas. Il indique que facebook.method_name existe dans le module facebook, plutôt que le module djangofb. Je suppose que j'importe le facebook.method_name comme facebook, pas que je le reçois du paquet facebook lui-même. Je utilise Python 2.6.

Comment puis-je alias facebook.djangofb en tant que facebook?

+7

@qarma: votre message de prime n'a aucun sens; il ne semble certainement pas avoir de lien avec la question posée ici. –

Répondre

30

Ceci est la bonne façon de créer un alias un module via l'importation:

import facebook.djangofb as facebook 
6

De l'python 3 documentation (il fonctionne de la même manière python 2.6, mais je trouve la documentation python 3 plus clairement expliqué):

Si le nom du module est suivi de as, le nom suivant as est lié directement au module importé.

Donc, votre déclaration devrait ressembler à:

import facebook.djangofb as facebook 

puis facebook.method_name fonctionnera.

Voir aussi Can you define aliases for imported modules in Python? pour les options d'aliasing supplémentaires

2
from facebook import djangofb as facebook 

Si vous cherchez à importer djangofb comme facebook, voilà comment vous devez le faire. De cette façon, vous pouvez accéder à facebook.djangofb.method_name comme facebook.method_name. Cela étant dit, il est plus commun de lui donner un nom non conflictuel, ici ce serait fb ou face. Quelque chose qui ne remplace pas la racine facebook importer.

Questions connexes