xreaとWin32にまともなpython開発環境を最速で構築する方法
箇条書きですが、以下メモから抜粋。参考になれば幸いです。
誤りや改善案があれば気軽にコメントへ。なおdjangoについては機会を改めてまとめたいと思います。
python開発環境構築
Python 調査報告@Cybozu まず読め
http://cydn.cybozu.co.jp/files/python_survey_at_cydn.html
Python 2.5.2
http://www.python.jp/Zope/download/pythoncore
Django 0.95
http://ymasuda.jp/python/django/index.html
Java
http://www.java.com/ja/download/manual.jsp
Eclipse
http://www.eclipse.org/downloads/index.php
PyDev
http://sourceforge.net/project/showfiles.php?group_id=85796
PyDev インストール (参考に)
http://foma-zakki.cocolog-nifty.com/zakki/2006/12/_python_eclipse_2739.html
AppEngine + Eclipse (参考に)
http://daily.profeth.de/2008/04/google-app-engine-eclipse-pydev.html
必須pythonモジュールをWin32にインストール
simplejson Win32 (simplejson-1.9.2.win32-py2.5.exe)
http://www.osuch.org/python-simplejson:win32
xampp XAMPP Windows 1.6.7
http://www.apachefriends.org/en/xampp-windows.html#644
mod-python Win32 (mod_python-3.3.1.win32-py2.5-Apache2.2.exe)
http://ftp.kddilabs.jp/infosystems/apache/httpd/modpython/win/3.3.1/
MySQLdb (MySQL-python-1.2.2.win32-py2.5.exe)
http://sourceforge.net/project/showfiles.php?group_id=22307
Apache で Python を動かす(参考に)
http://xwave.exblog.jp/m2007-06-01/
必須pythonモジュールをxreaにインストール
UTF-8 TeraTerm Pro with TTSSH2 入れる
http://sourceforge.jp/projects/ttssh2/files/
ショートカット作っておくとログイン楽
"C:\Program Files\teraterm\ttermpro.exe" s298.xrea.com:22 /ssh /2 /auth=xxxxxx /user=taos /passwd=xxxxxx
これからvirtual-pythonでSimpleJSON,ElementTree(*1),MySQLdb,SQLiteをつっこむ。コンソールで以下を実行。
*1 xreaはpython2.4なので
wget http://peak.telecommunity.com/dist/virtual-python.py python virtual-python.py wget http://peak.telecommunity.com/dist/ez_setup.py /virtual/taos/bin/python ez_setup.py wget http://pypi.python.org/packages/source/s/simplejson/simplejson-1.9.2.tar.gz tar xzvf simplejson-1.9.2.tar.gz cd simplejson-1.9.2 /virtual/taos/bin/python setup.py build /virtual/taos/bin/python setup.py install cd ../ rm -rf simplejson-1.9.2* wget http://effbot.org/media/downloads/elementtree-1.2.6-20050316.tar.gz tar zxf elementtree-1.2.6-20050316.tar.gz cd elementtree-1.2.6-20050316 /virtual/taos/bin/python setup.py install --home=~ cd ../ rm -rf elementtree-1.2.6-20050316* wget http://downloads.sourceforge.net/mysql-python/MySQL-python-1.2.2.tar.gz tar -zxvf MySQL-python-1.2.2.tar.gz cd MySQL-python-1.2.2 /virtual/taos/bin/python setup.py install cd ../ rm -rf MySQL-python-1.2.2* wget http://initd.org/pub/software/pysqlite/releases/2.4/2.4.1/pysqlite-2.4.1.tar.gz tar xzvf pysqlite-2.4.1.tar.gz cd pysqlite-2.4.1 /virtual/taos/bin/python setup.py install cd ../ rm -rf pysqlite-2.4.1*
python動かしたいフォルダに以下の内容の.htaccessファイルを作っておく
DirectoryIndex index.py AddHandler cgi-script .py
CGIHTTPServer使ってデバッグする場合
コード無修正のままxrea上で実行可能。ただしMySQLdbとかは使えない。
.projectのあるフォルダに以下の内容のRun.pyを作っておいてRun DialogのMain Moduleに"${workspace_loc:project_name}/Run.py"と登録しておくとよい(なお、srcフォルダはcgi-binにリネームすること)
import os, BaseHTTPServer, CGIHTTPServer,SimpleHTTPServer class PyHTTPRequestHandler(CGIHTTPServer.CGIHTTPRequestHandler): def do_POST(self): if self.is_cgi(): CGIHTTPServer.CGIHTTPRequestHandler.do_POST(self) else: self.do_GET(); def is_python(self,path): head,tail=os.path.splitext(path) return tail.lower() in (".py", ".pyw",".cgi") #warning! os.chdir(os.path.abspath(os.path.dirname(os.path.realpath(__file__)))) CGIHTTPServer.CGIHTTPRequestHandler.cgi_directories = ['/cgi-bin'] BaseHTTPServer.HTTPServer( ('127.0.0.1', 8080), PyHTTPRequestHandler ).serve_forever()
この場合窓口URLは以下の通り
http://localhost:8080/cgi-bin/index.py
コードはこんな感じ
!/virtual/taos/bin/python #!-*- coding:utf-8 -*- import sys import site import os import re import codecs import cgi; import cgitb; cgitb.enable() import logging import datetime sys.stdout.write('Content-type: text/html; charset=UTF-8') sys.stdout.write('\r\n\r\n') sys.stdout.write(""" <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> .... </html>""")
mod_pythonを使ってデバッグする場合
ローカル環境でMySQLdbなどが必要な場合はこちら。
xreaではmod_pythonは使えません。同一コードで双方通す場合は、sys.platform分岐が使えるかも(要検証
コードはこんな感じ
from mod_python import apache def handler(req): req.content_type = ‘text/html' req.write(”""...""”) return apache.OK
mod_pythonをWindowsにインストールする方法(参考に)
http://hidekiitakura.com/blog/?p=110
SQL Connectivity With Python (参考に)
http://www.devshed.com/c/a/Python/MySQL-Connectivity-With-Python/