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
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:
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
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 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>
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 All
Order deny,allow
allow from All
</Directory>
WSGIScriptAlias /wsgi path/to/wsgi_test.wsgi
</IfModule>