Получить 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 никогда не был написан для разработчиков приложений. Вы можете использовать его напрямую, но это больше работы для вас. Выберите рамки.