webapp2 под Apache (= без Google App Engine)

Я пытаюсь запустить webapp2 под Python с Apache и mod_wsgi, а именно: Wampserver для Windows 7 с Apache 2.2.22. Пока что я с треском провалился. :-(

Я использовал следующий пример изhttps://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)

Когда я сохраняю этот файл какc:wamp\www\Python\hello.pyи перейдите кlocalhost/Python/hello.pyЯ получил:

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

Однако позвольте мне заявить, что mod_wsgi для Python в Apache работает нормально; следующий код

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]

находится по адресуc:\wamp\www\Python\test.py, Когда я иду вlocalhost/Python/test.pyбраузер говоритHello from Python! как я и ожидал.

До сих пор я только узнал, как изменить имя по умолчанию для def (= & quot; application & quot;) на & quot ;thing_else & quot; поставив линию

WSGICallableObject something_else

в.htaccess.

Но как я могу заставить Apache принять переменнуюapp как вызываемый объект? (До сих пор я использовал Python в основном для программирования вне Интернета, поэтому я надеюсь, что это не глупый вопрос.)

Любая помощь приветствуется.

Update:

Грэм спросил меня о конфигурации mod_wsgi, которую я использую в файлах конфигурации Apache, и где я ее добавляю. я добавил

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>

вhttpd.conf прямо в конце всего «LoadModule» линий.

Некоторая дополнительная информация о моей конфигурации: я использую mod_wsgi-win32-ap22py27-3.3.so. (Конечно, я переименовал его вmod_wsgi.so и поместил его вc:\wamp\bin\apache\apache2.2.22\modules.) Моя командная строка Python говорит об этой версии:Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win 32, Сервер Wamp, который я использую, является 32-битным. Моя операционная система - Windows 7 Ultimate 64bit SP1.

Надеюсь, это поможет с диагнозом ...

Ответы на вопрос(5)

Ваш ответ на вопрос