- 2007-11-04 (日) 0:13
- Python
ローカルマシンにweb.pyを使ったアプリケーションの開発環境をつくるため、試行錯誤してみました。
まずは必要なものをダウンロードします。
- Python2.4.4
python-2.4.4.msiをダウンロードしてさくっとインストールします。 - flup
flup-r2030.tar.gzをダウンロードして解凍し(flup-0.5とかだとだめっぽいので注意)、Windowsでも動くように
flup-r2030\flup\server\fcgi_base.pyの970~981行目を以下のように編集します。isFCGI = False #sock = socket.fromfd(FCGI_LISTENSOCK_FILENO, socket.AF_INET, # socket.SOCK_STREAM) #try: # sock.getpeername() #except socket.error, e: # if e[0] == errno.ENOTSOCK: # # Not a socket, assume CGI context. # isFCGI = False # elif e[0] != errno.ENOTCONN: # raiseそれでもってコマンド実行してインストール。
> cd flup-r2030 > python setup.py install
- web.py
web.py-0.22.tar.gzをダウンロードしてきて解凍し、ちょこっと編集します。
まず、webpy\web\wsgi.pyの17行目を以下のように変更。return flups.WSGIServer(func, multiplexed=True, bindAddress=addr, maxSpare=0).run()
次に、同じくwebpy\web\wsgi.pyの32 行目の下に、以下の6行を追加。
path_begin = os.environ['SCRIPT_NAME'].rfind('/') try: query_begin = os.environ['REQUEST_URI'].index('?') os.environ['PATH_INFO'] = os.environ['REQUEST_URI'][path_begin:query_begin] except ValueError: os.environ['PATH_INFO'] = os.environ['REQUEST_URI'][path_begin:]それでもってコマンド実行してインストール。
> cd webpy > python setup.py install
- XAMPP Lite for Windows
XAMPP Lite 1.6.4あたりのZIPをダウンロードしてきてさくっと解凍します。
せっかくなので、web.pyで何かつくってみます。
まずはxampplite\htdocsに「hoge」フォルダをつくって、index.cgiを作成します。
index.cgiの内容はとりあえず、↓のようなかんじに。
#!C:\Python24\python.exe
# -*- coding: utf-8 -*-
import web
urls = ('/hello', 'view')
class view:
def GET(self):
print 'Hello, world!'
if __name__ == '__main__': web.run(urls, globals())
それから次のような .htaccess ファイルもつくっておきます。
RewriteEngine on
RewriteBase /hoge/
RewriteCond %{REQUEST_URI} !^(/.*)+index.cgi/
RewriteRule ^(.*)$ index.cgi/$1 [PT]
なお、事前にhttpd.confの以下の部分のコメントをはずしておきます。
LoadModule rewrite_module modules/mod_rewrite.so
準備ができたらXAMPPのコントロールパネルからApacheを起動して、ブラウザで以下のURLにアクセスします。
http://localhost/hoge/hello
見事に「Hello, world!」と表示されたら今日は大団円。
- Newer: EMONSTER S11HTの無線ルータ化