Python 2.5'den Python 2.7'ye geçmeye çalıştım ancak her seferinde aynı hatayı almaya devam ediyorum.Google App Engine'de Python 2.7 Hatası - Threadsafe CGI işleyicisi ile etkinleştirilemiyor
Python 2.5 uygulamasında app.yaml dosyası ile çalışan ve sadece bir komut dosyası main.py ile çalışarak çok basit bir test yaptım ve gayet iyi çalışıyor. Komut, her şeyi iyi kontrol etmek için sadece bir Merhaba Dünya türü.
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()
Python 2.7 için değiştirdiğinizde her iki app.yaml üzerinde değişiklikler yaparak harfe Google App Engine belge takip edip main.py komut dosyası.
app.yaml
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)
Ne yazık ki yerel veya Google App Engine yeni bir yapılandırma yüklemeye çalışırken ya çalışmıyor
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. (Her zaman aynı hatayı alırım).
Makinemdeki sorunu (hem Python 2.5 hem de 2.7) Windows XP'de anlayabiliyorum, ancak yüklediğimde değil.
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)
Ancak dosya main.application nedir? Eğer değiştirirsem yeni bir hata ortaya çıkar.: Modül bulunamadı main.app args = ('Modül bulunamadı main.app',) message = 'Modül main.app bulunamadı' –
user1374783
Eski formda, ' main.application' (veya 'main.app'), doğrudan nokta gösterimi ile bir WSGIApplication nesnesine işaret etmelidir. Main.py cihazınız BTW'yi nerede alıyor? Proje üst dizininin altındaysa, bu dosyanın global kapsamındaki WSGIApplication nesnesinin adına göre "main.app" veya "main.application" yöntemlerinden birini kullanabilirsiniz. –
Ayrıca bkz .: https://developers.google.com/appengine/docs/python/python27/using27#Configuring_WSGI_Script_Handlers –