extensia .app în osx produce o aplicație clasică, în conflict cu Python 2.7, care are nevoie de .app

https://developers.google.com/appengine/docs/python/python27/using27

Linkul de mai sus necesită ca fișierul python să fie denumit ceva "main.app", dar Mac OSX Lion tratează astfel de fișiere ca aplicațiile Mac clasice. Am încercat, de asemenea, să denumesc fișierul python "main.application", dar să primesc același mesaj de eroare în jurnalul googleapps după cum urmează și îmi spune că nu există niciun modul "principal".

ERROR    2012-05-29 17:10:35,136 wsgi.py:189]   
Traceback (most recent call last):
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py", line 187, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())  
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py", line 225, in _LoadHandler
    handler = __import__(path[0])  
ImportError: No module named main  
INFO     2012-05-29 17:10:35,143 dev_appserver.py:2904] "GET/HTTP/1.1" 500 -

Fișierul meu app.yaml este după cum urmează.

application: shoppinglist
version: 1
runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /.*
  script: main.application

libraries:
- name: webapp2
  version: "2.5.1"
- name: django
  version: "1.3"
- name: PIL
  version: latest

ce fac greșit?

Brian în Atlanta

0

1 răspunsuri

Nu denumiți fișierul "main.app"; este numele aplicației WSGI, care este app (sau, în cazul tău, aplicație ), cu nimic denumită app fișierul "main.py".

0
adăugat
Da, a fost corect, dar acum primesc o eroare similară "ImportError: Niciun modul numit webapp2". Mai e ceva ce trebuie să descarc? Am crezut ca webapp2 face parte din Python 2.7. Mulțumiri.
adăugat autor zerowords, sursa
Am terminat aplicația să lucreze prin eliminarea următoarelor linii de pe main.py #from google.appengine.ext import webapp2 #de la google.appengine.ext.webapp2 șablon de import #de google.appengine.ext.webapp2.util import run_wsgi_app
adăugat autor zerowords, sursa
webapp2 nu face parte din Python 2.7; face parte din Python 2.7 personalizat care vine cu App Engine SDK 1.6. În orice caz, aceasta ar trebui să fie o întrebare separată, nu o urmărire a comentariilor aici.
adăugat autor abarnert, sursa
Poate încercați să eliminați stanza webapp2 din app.yaml? Din câte știu, nu este necesar, și includerea specificând o versiune ar putea să spargă ceva.
adăugat autor geoffspear, sursa
Puteți folosi pur și simplu: import webapp2 ; nu este nevoie să importați din google.appengine.ext. De asemenea, nu este nevoie de run_wsgi_app.
adăugat autor Robert Kluin, sursa
Python România
Python România
100 participanți

Comunitatea pasionaților de Python din România.