Skip to content Skip to sidebar Skip to footer

Python & Xampp On Windows: How To?

I have installed on my Win7x64 Xampp and Python 2.7. Now I'm trying to get the 'power' of Python language... how can I do it? I've tried with mod_python and mod_wsgi but the first

Solution 1:

Yes you are right, mod_python won't work with Python 2.7. So mod_wsgi is the best option for you.

I would recommend AMPPS as python environment is by default enabled with mod_python and python 2.5. AMPPS Website

if you still want to continue,

Add this line in httpd.conf

LoadModule wsgi_module modules/mod_wsgi.so

Uncomment the line in httpd.conf

Include conf/extra/httpd-vhosts.conf

Open vhost file httpd-vhosts.conf and add

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 AllOrder deny,allow
        allow fromAll</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>

Add the following lines in 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]

Note : Don't make the test directory in htdocs. Because I haven't tried that yet. These steps worked for me in AMPPS. :)

Then access 127.0.0.1/wsgi in your favorite browser. You will see Hello World!.

If you don't see, follow QuickConfigurationGuide

OR

You can add these lines in httpd.conf

<IfModule wsgi_module>
<Directory path/to/directory>
    Options FollowSymLinks Indexes
    AllowOverride AllOrder deny,allow
    allow fromAll
</Directory>
WSGIScriptAlias /wsgi path/to/wsgi_test.wsgi
</IfModule>

Solution 2:

WSGI is a lot better, but at least I googled and tried to set it up for days without success. CGI is less efficient, but as most people use windows for development only, it makes little/no difference. It's super easy to set up!

CGI method:

  1. In xampp\apache\conf\httpd.conf look for this line: AddHandler cgi-script .cgi .pl .asp. Modify it so it looks like this: AddHandler cgi-script .cgi .pl .asp .py
  2. At the top of each Python script you create, set the path to your version of Python. For instance, if yours is in C:\Python27 write: #!/Python27/python
  3. Put test sample test code in xampp\cgi-bin and access localhost/cgi-bin/your-file.py

sample test code(change commented python path according where you have it installed):

#!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>"

I've tested this in xampp 1.8.1 if something doesn't work read tihs:

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

Post a Comment for "Python & Xampp On Windows: How To?"