Ich habe versucht, zu Python 2.7 von Python 2.5 zu verschieben, aber ich bekomme immer den gleichen Fehler.Fehler Python 2.7 bei Google App Engine - ThreadSafe kann nicht mit CGI-Handler aktiviert werden
Ich habe einen sehr einfachen Test in Python 2.5 mit der app.yaml Datei und nur ein Skript main.py und es funktioniert gut gemacht. Das Skript es nur ein Hello World-Typ zu überprüfen, alles funktioniert gut.
app.yaml
application: sparepartsfinder
version: 1
runtime: python
api_version: 1
handlers:
- url: /blog
script: main.py
- url: /blog/new_entry
script: main.py
main.py
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
class MainPage(webapp.RequestHandler):
def get(self):
self.response.headers['Content-Type'] = 'text/plain'
self.response.out.write('Hello, webapp World!')
application = webapp.WSGIApplication(
[('/', MainPage),
('/blog', MainPage),
('/blog/new_entry',MainPage),
('/blog/archive/.*',MainPage)],
debug=True)
def main():
run_wsgi_app(application)
if __name__ == "__main__":
main()
Wenn ich zu Python 2.7 ändern verfolge ich die Dokumente auf dem Google App Engine auf das Schreiben macht die Änderungen sowohl in der app.yaml und main.py-Skript
app.yaml
application: sparepartsfinder
version: 1
runtime: python27
api_version: 1
threadsafe: true
handlers:
- url: /blog
script: main.py
- url: /blog/new_entry
script: main.py
- url: /blog/archive/.*
script: main.py
- url: .*
script: main.py
main.py
import webapp2
class MainPage(webapp2.RequestHandler):
def get(self):
self.response.out.write('Hello prueba!')
app = webapp2.WSGIApplication([('/', MainPage),
('/blog', MainPage),
('/blog/new_entry',MainPage),
('/blog/archive/.*',MainPage)],
debug=True)
Leider ist es auch nicht in lokalen oder wenn ich versuche, arbeiten, um die neue Konfiguration in dem Google App Engine zu laden. (Ich bekomme immer den gleichen Fehler).
Ich verstehe das Problem in meinem Computer (ich habe sowohl Python 2.5 und 2.7) auf einem Windows XP, aber nicht, wenn ich hochlade.
Dies ist der Fehler:
2012-05-04 13:02:07 Running command: "[u'C:\Python25\python2.5.exe', '-u', 'C:\Archivos >de programa\Google\google_appengine\appcfg.py', '--no_cookies', u'[email protected]', '--passin', 'update', 'C:\Documents and Settings\SSanjuan\Mis documentos\Dropbox\Dropbox\Python\SpareParts']" Error parsing yaml file: Invalid object: threadsafe cannot be enabled with CGI handler: main.py in "C:\Documents and Settings\SSanjuan\Mis documentos\Dropbox\Dropbox\Python\SpareParts\app.yaml", line 27, column 1 2012-05-04 13:02:31 (Process exited with code 1)
Aber wo ist die Datei main.application? Wenn ich es ändere, erscheint ein neuer Fehler.: Konnte das Modul main.app nicht finden args = (' Modul main.app 'konnte nicht gefunden werden,) message =' Das Modul main.app ' –
user1374783
konnte nicht gefunden werden main.application (oder 'main.app') soll direkt auf ein WSGIApplication-Objekt mit Punktnotation verweisen. Wo findet Ihr main.py statt? Wenn es sich im obersten Verzeichnis des Projekts befindet, können Sie entweder 'main.app' oder' main.application' entsprechend dem Namen Ihres WSGIApplication-Objekts im globalen Bereich dieser Datei verwenden. –
Siehe auch: https://developers.google.com/appengine/docs/python/python27/using27#Configuring_WSGI_Script_Handlers –