Получить Apache для запуска Python на Mac

Итак, у меня есть новый Mac, и я пытаюсь заставить его работать Apache с mod_python, mod_wsgi и django. У меня есть test test.py, который просто содержит:

#!/usr/bin/python
print "Content-type: text/html"
print
print "<html><head>"
print ""
print "</head><body>"
print "Test Page"
print "</body></html>"

Я только что скачал xcode4, использовал macports для установки apache, php5 и mod_wsgi с помощью шага, представленного на этих сайтах: http://www.phpied.com/installing-php-and-apache-on-mac-osx-that-was-pretty-easy/ http://heisel.org/blog/2009/09/25/mod-wsgi-mac/

Однако, когда я запускаю test.py, я просто вижу файл в виде простого текста. Есть что-то, чего мне не хватает?

1 ответ

Я думаю, вы ожидаете, что WSGI будет работать как PHP или CGI. Это несколько другое...

Проблема 1: Это скрипт на Python, но это не скрипт WSGI. Скрипт WSGI определит объект приложения ("объект" в строгом смысле, вам не нужен класс), который можно вызвать. См. PEP WSGI ( ссылка), особенно "Сторона приложения / фреймворка". Объект приложения будет выглядеть примерно так:

def application(env, startresp):
    path = env['PATH_INFO']
    startresp('404 Not Found', [('Content-Type', 'text/plain;charset=utf-8')])
    return ['The page at {!r} was not found'.format(path)]

Проблема 2: Инструкции о том, как установить Django. Похоже, что вы не используете Django. Вам нужно будет придумать свой собственный WSGIScriptAlias линия в вашей конфигурации Apache. В учебнике это выглядит так:

WSGIScriptAlias / "/Users/YOUR-USERNAME-HERE/Code/wsgi_apps/local.yourdomain.com.wsgi"

Но опять же, вам придется выяснить это для себя.

Дополнительное примечание: WSGI никогда не был написан для разработчиков приложений. Вы можете использовать его напрямую, но это больше работы для вас. Выберите рамки.

Другие вопросы по тегам