Windows上的Python和XAMPP:怎么样?

Bon*_*992 10 python windows apache xampp mod-wsgi

我安装在Win7x64 Xampp和Python 2.7上.

现在我正试图获得Python语言的"力量"......我该怎么做?

我已经尝试过使用mod_python和mod_wsgi但是我的Python版本不存在第一个,当我在安装wsgi后尝试启动Apache时它会给我一个错误

< Directory "\x93C:/wsgi_app\x94"> path is invalid
Run Code Online (Sandbox Code Playgroud)

我在<和'directory'之间添加了一个空格,以使字符串在此处可见.

那么......任何人都知道是否有一些安装这些功能的教程?

或者是否有人能够一步一步地向我解释我该怎么做?

如果我不能解释我,谢谢,抱歉.

如果你需要什么,请问我.

Tom*_*mas 15

WSGI要好得多,但至少我用谷歌搜索并尝试将其设置好几天而没有成功.CGI的效率较低,但由于大多数人只使用Windows进行开发,因此它几乎没有差别.设置起来非常简单!

CGI方法:

  1. 在xampp\apache\conf\httpd.conf中查找以下行:AddHandler cgi-script .cgi .pl .asp.修改它看起来像这样:AddHandler cgi-script .cgi .pl .asp .py
  2. 在您创建的每个Python脚本的顶部,设置您的Python版本的路径.例如,如果你的是在C:\ Python27中写:#!/ Python27/python
  3. 将测试样本测试代码放在xampp\_cgi-bin中并访问localhost/cgi-bin/your-file.py

示例测试代码(根据您安装的位置更改注释的python路径):

#!C:/Python27/python

print "Content-type: text/html\n\n"
print "<html><head><title>Hello World from Python</title></head><body>Hello World from a Python CGI Script</body></html>"
Run Code Online (Sandbox Code Playgroud)

我已经在xampp 1.8.1中对此进行了测试,如果有什么不起作用,请阅读:

来源:http://elvenware.com/charlie/development/web/Python/Xampp.html


小智 14

是的,你是对的,mod_python不适用于Python 2.7.所以mod_wsgi是你的最佳选择.

我建议使用AMPPS,因为python环境默认情况下使用mod_python和python 2.5启用.AMPPS网站

如果你还想继续

在httpd.conf中添加此行

LoadModule wsgi_module modules/mod_wsgi.so
Run Code Online (Sandbox Code Playgroud)

取消注释httpd.conf中的行

Include conf/extra/httpd-vhosts.conf
Run Code Online (Sandbox Code Playgroud)

打开vhost文件httpd-vhosts.conf并添加

NameVirtualHost 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
    <Directory "path/to/directory/in/which/wsgi_test.wsgi/is/present">
        Options FollowSymLinks Indexes
        AllowOverride All
        Order deny,allow
        allow from All
    </Directory>
    ServerName 127.0.0.1
    ServerAlias 127.0.0.1
    WSGIScriptAlias /wsgi "path/to/wsgi_test.wsgi"
    DocumentRoot "path/to/htdocs"
    ErrorLog "path/to/log.err"
    CustomLog "path/to/log.log" combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

在wsgi_test.wsgi中添加以下行

def application(environ, start_response):
    status = '200 OK'
    output = 'Hello World!'

    response_headers = [('Content-type', 'text/plain'),
                        ('Content-Length', str(len(output)))]
    start_response(status, response_headers)

    return [output]
Run Code Online (Sandbox Code Playgroud)

注意:不要在htdocs中创建测试目录.因为我还没有尝试过.这些步骤适用于AMPPS.:)

然后在您喜欢的浏览器中访问127.0.0.1/wsgi.你会看到Hello World!.

如果您没有看到,请按照QuickConfigurationGuide

要么

您可以在httpd.conf中添加这些行

<IfModule wsgi_module>
<Directory path/to/directory>
    Options FollowSymLinks Indexes
    AllowOverride All
    Order deny,allow
    allow from All
</Directory>
WSGIScriptAlias /wsgi path/to/wsgi_test.wsgi
</IfModule>
Run Code Online (Sandbox Code Playgroud)