得到apache在mac上运行python

时间:2011-07-13 23:11:08

标签: python apache2 mod-wsgi

所以我有一个新的mac,我试图让它用mod_python,mod_wsgi和django运行apache。我有一个测试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 个答案:

答案 0 :(得分:0)

我认为您期望WSGI像PHP或CGI一样工作。这有点不同......

问题1:这是一个Python脚本,但它不是WSGI脚本。 WSGI脚本将定义一个可调用的应用程序对象(严格意义上的“对象”,您不需要类)。请参阅WSGI PEP(link),尤其是“应用程序/框架方面”。应用程序对象将是这样的:

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。您需要在Apache配置中提出自己的WSGIScriptAlias行。在本教程中,它看起来像这样:

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

但是,你必须自己解决这个问题。

附加说明: WSGI从未真正为应用程序开发人员编写过。你可以直接使用它,但它对你来说更有用。选择一个框架。