Sto provando a distribuire l'app Django
su Google App Engine
(GAE) come da this document. Ho creato e configurato un'istanza Google Cloud SQL
, come descritto in quel documento. Io uso PyCharm
come ambiente di sviluppo e ho creato un progetto GAE con il supporto Django.Google App Engine e supporto Django
Ho configurato un server locale per puntare al server GAE. Quando provo a lanciare il server locale GAE in PyCharm, è sollevare eccezioni in un database non configurato correttamente in SETTINGS.PY
:
google.appengine.ext.django.backends.rdbms' isn't an available database backend
posso vedere dalla analisi dello stack che il server locale sta usando la versione Django in /Library/Python/2.7/site-packages
mentre io presume che dovrebbe usare quello in /usr/local/google_appengine/lib
.
Quale sarebbe il modo migliore per risolvere questo dato che ho altri progetti Django che dovrebbero utilizzare la versione di Django in /Library/Python/2.7/site-packages
? Se modifico il mio PYTHONPATH
per includere la versione GAE di Django, non tutti i miei progetti faranno riferimento a quella versione di Django?
MODIFICA: Per essere più precisi, il server locale GAE si avvia correttamente ma getta la traccia di stack menzionata quando eseguo un'attività syncdb
per aggiornare il mio database.
EDIT 2: Nelle impostazioni PyCharm con Python Interpreter, ho trovato la possibilità di modificare i percorsi e ho aggiunto la versione di Django 1.4 come distribuita con GAE SDK. Quando avvio il server di sviluppo GAE, posso effettivamente vedere utilizza la versione Django dalla GAE SDK, ma si blocca ancora sulle definizioni di database:
Error was: No module named google.appengine.ext.django.backends.rdbms.base
EDIT 3: mi sono imbattuto in problemi quando si cerca di distribuire un'app di Django esistente usando il tutorial. Vedi this separate question.
come hai installato django-appengine? il modo migliore è usare il pacchetto modificato django-nonrel elencato nelle esercitazioni –
@SamueleMattiuzzo: Django è ora preconfezionato con GAE SDK. Ho seguito il documento collegato di Google Developers che è stato aggiornato il 14 dicembre 2012, quindi dovrebbe riflettere lo stato recente. La versione nonrelata di Django era destinata a BigData; la versione descritta nel documento dovrebbe supportare Google Cloud SQL che è relazionale. – Roger
Hai un MySQL locale in esecuzione? In altre parole, quando si esegue l'SDK, viene visualizzato questo messaggio "ATTENZIONE 2013-01-04 01: 58: 04,612 rdbms_mysqldb.py:74] L'API rdbms non è disponibile perché la libreria MySQLdb non può essere caricata."? – Sologoub