2011-07-13 75 views
0

因此,我有一个新的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>"获取apache在mac上运行python

我刚刚下载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/ 出于某种原因mod_python的是行不通的,所以我从网上下载SVN最新的源代码,做标准./configure --with-apxs=/opt/local/apache2/bin/apxs make sudo make install

,然后用在LoadModule等等模块配置的httpd.conf/blah.so

,当我开始了跟Apache

sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper start 

并导航到test.py在我的浏览器中,我看到整个文件以纯文本与我知道这是不正确的。 我在httpd.conf开启蟒蛇调试和看到这个当我浏览到test.py了这再次弹出:

MOD_PYTHON ERROR 

ProcessId:  93626 
Interpreter: 'dfelsmanmpx6.blah.blah' 

ServerName:  'dfelsmanmpx6.blah.blah' 
DocumentRoot: '/Users/me/folder/workspace/' 

URI:   '/test.py' 
Location:  None 
Directory:  '/' 
Filename:  '/Users/me/folder/workspace/test.py' 
PathInfo:  '' 

Phase:   'PythonHandler' 
Handler:  'text' 

Traceback (most recent call last): 

    File "/Library/Python/2.6/site-packages/mod_python/importer.py", line 1537, in HandlerDispatch 
    default=default_handler, arg=req, silent=hlist.silent) 

    File "/Library/Python/2.6/site-packages/mod_python/importer.py", line 1202, in _process_target 
    module = import_module(module_name, path=path) 

    File "/Library/Python/2.6/site-packages/mod_python/importer.py", line 304, in import_module 
    return __import__(module_name, {}, {}, ['*']) 

ImportError: No module named text 

人知道什么是错的或知道如何做到这一点在Mac上一个教程与xcode 4(是的,在我的研究中,实际上是相关的,因为xcode 4取消了一些架构支持,从而使一些模块过时)?

+2

[不要使用mod_python。](http://blog.dscpl.com.au /2010/06/modpython-project-is-now-officially.html) –

+0

我怎么会这样做没有mod_python ?,只是得到test.py运行在Apache的是。 – Derick

+0

使用CGI或编写WSGI脚本。 –

回答

0

正如@ ignatio-vazquez-abrams指出的那样,mod_python已被弃用,但如果您设置了使用它,您可能需要检出Homebrew。一旦安装了Homebrew,您可以在终端中运行brew install mod_python。安装完成后,您将看到关于将编译的mod添加到Apache配置的注释(以及弃用警告)。

+0

那么我怎么做,而不使用mod_python呢? – Derick