2010-11-03 26 views
4

J'ai un projet de travail construit avec djangoappengine et fonctionnant sous le serveur de développement App Engine. Donc, je cours "manage.py runserver" et tout fonctionne comme apprécié. Toutes les exigences (django, djangoappengine, etc.) se trouvent dans le répertoire racine du projet. Maintenant, je suis en train d'utiliser virtualenv (je suis commandes en cours d'exécution dans la racine du projet):Google App Engine Python, virtualenv et les types mime

virutalenv --no-site-packages env 
env\Scripts\python manage.py runserver 

Server démarre, mais lorsque je tente d'accéder à la page que je reçois cette exception:

ImportError: Could not import settings 'settings' (Is it on sys.path? Does it have syntax errors?): No module named mimetypes 

Comment puis-je répare ça?

PS Je suis en train d'utiliser cette idée sous Windows: https://bitbucket.org/imbolc/gae-virtualenv/src

Modifier 1. Le même comportement est sous Ubuntu 10.10.

Éditer 2. Le même comportement est sous Mac OS X: How to use virtualenv with Google App Engine SDK on Mac OS X 10.6. La question peut être fermée.

+0

double possible de [Comment utilisez virtualenv avec le SDK de Google App Engine sur Mac OS X 10.6] (http://stackoverflow.com/questions/3858772/how-to-use-virtualenv-with-google-app-engine-sdk-on-mac-os- x-10-6) –

Répondre

4

Ceci est décrit dans Issue 4339 pour GAE. Voici comment y remédier:

  1. patch Télécharger de ce numéro commentaire: patch
  2. Déplacez le patch pour google_appengine/google/appengine/outils/
  3. Changer votre répertoire de travail sur le même chemin que ci-dessus
  4. type: Patch -p0 < dev_appserver.patch
+1

Ce lien direct vers le correctif a un jeton qui semble expirer. Le correctif est joint à ce commentaire sur le problème: http://code.google.com/p/googleappengine/issues/detail?id=4339#c2 –

1

Virtualenv ne copie pas la bibliothèque standard Python complète, mais à la place, il amorce le chargement de ces modules avec le paramètre sys.path (PYTHONPATH). Il semblerait que Google App Engine n'aime pas cela.

Je vous suggère de signaler un bug contre Google App Engine.