webapp2 unter Apache (= ohne Google App Engine)

Ich versuche, webapp2 unter Python mit Apache und mod_wsgi auszuführen - speziell: Wampserver für Windows 7 mit Apache 2.2.22. Bisher bin ich kläglich gescheitert. :-(

Ich habe das folgende Beispiel aushttps://developers.google.com/appengine/docs/python/gettingstartedpython27/usingwebapp:

import webapp2

class MainPage(webapp2.RequestHandler):
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.out.write('Hello, webapp World!')

app = webapp2.WSGIApplication([('/', MainPage)],
                              debug=True)

Wenn ich diese Datei speichere alsc:wamp\www\Python\hello.py, und navigieren Sie zulocalhost/Python/hello.pyIch bekomme:

Not Found
The requested URL /python/hello.py was not found on this server.

Lassen Sie mich jedoch feststellen, dass mod_wsgi für Python in Apache gut zu laufen scheint. den folgenden Code

def application(environ, start_response):
    status = '200 OK'
    output = 'Hello from Python!'

    response_headers = [('Content-type', 'text/plain'), 
        ('Content-Length', str(len(output)))]

    start_response(status, response_headers)
    return [output]

befindet sich beic:\wamp\www\Python\test.py. Wenn ich gehelocalhost/Python/test.pysagt der BrowserHello from Python! wie ich es erwarten würde.

Bisher habe ich nur herausgefunden, wie man den Standardnamen des def (= "application") durch Setzen der Zeile in "something_else" ändert

WSGICallableObject something_else

in.htaccess.

Aber wie kann ich Apache dazu bringen, die Variable zu akzeptieren?app als aufrufbares Objekt? (Bisher habe ich Python hauptsächlich zum Programmieren außerhalb des Webs verwendet, daher hoffe ich, dass dies keine blöde Frage ist.)

Jede Hilfe wird geschätzt.

Aktualisieren:

Graham fragte mich nach der mod_wsgi-Konfiguration, die ich in Apache-Konfigurationsdateien verwende, und wo ich sie hinzufüge. Ich fügte hinzu

LoadModule wsgi_module modules/mod_wsgi.so

<Directory "c:/wamp/www/python">
Options +ExecCGI
AddHandler wsgi-script .py
Order allow,deny
Allow from all
</Directory>

zuhttpd.conf direkt am Ende aller "LoadModule" -Zeilen.

Einige zusätzliche Informationen zu meiner Konfiguration: Ich verwende mod_wsgi-win32-ap22py27-3.3.so. (Natürlich habe ich es in umbenanntmod_wsgi.so und legte es inc:\wamp\bin\apache\apache2.2.22\modules.) Meine Python-Befehlszeile sagt dies über die Version:Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win 32. Der von mir verwendete Wamp-Server ist 32-Bit. Mein Betriebssystem ist Windows 7 Ultimate 64bit SP1.

Hoffe das hilft bei der Diagnose ...

Antworten auf die Frage(5)

Ihre Antwort auf die Frage