2010-11-23 6 views
4

Je suis en from appname import model, ce qui me donne:Test Google App App Engine du terminal (cli python)

ImportError: No module named google.appengine.api 

ajouter donc le chemin Python suivant (le seul chemin que je pouvais find):

PYTHONPATH=/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/:~/src/appname/src/ python

Et puis je réexécute la commande. Mais cela me dit:

ImportError: No module named yaml 

Je cours Mac OS X Snow Leopard et le dernier GAE. Des conseils? Tout ce que je veux faire est d'exécuter certaines des méthodes dans mon modèle.

Répondre

2

De dev_appserver.py:

DIR_PATH = os.path.abspath(os.path.dirname(os.path.realpath(__file__))) 
# ... 

EXTRA_PATHS = [ 
    DIR_PATH, 
    os.path.join(DIR_PATH, 'lib', 'antlr3'), 
    os.path.join(DIR_PATH, 'lib', 'django'), 
    os.path.join(DIR_PATH, 'lib', 'fancy_urllib'), 
    os.path.join(DIR_PATH, 'lib', 'ipaddr'), 
    os.path.join(DIR_PATH, 'lib', 'webob'), 
    os.path.join(DIR_PATH, 'lib', 'yaml', 'lib'), 
] 
# ... 
sys.path = EXTRA_PATHS + sys.path 

Je pense que cela devrait fonctionner si vous mettez ces bits dans un script séparé, et l'importer avant d'importer votre propre code. Ou, comme vous l'avez souligné, utilisez la console Appengine dans le SDK (mais ce n'est pas le cas pour les utilisateurs de Linux).

+0

Comment cela m'aide-t-il? J'essaie d'importer les paquets dans la CLI de Python (en tapant 'python' dans bash) et en testant quelques trucs. –

+0

@Jonatan: Désolé, j'ai mal compris. Vous pouvez voir comment dev_appserver.py configure l'environnement pour charger une application et copier les bits de code pertinents. –

+0

Ah, c'est vrai. Si vous mettez à jour votre réponse avec cette information, je la marquerai comme correcte. D'un côté, bien qu'il réponde à la question que j'avais, une autre réponse (et dans ce cas la meilleure) est simplement de cliquer sur SDK Console, puis sur Interactive Console. J'ai tellement l'habitude de lancer la CLI que je ne savais même pas que celle-ci existait :) –