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

ApachePython を動かす(参考に)
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_pythonWindowsにインストールする方法(参考に)
http://hidekiitakura.com/blog/?p=110

SQL Connectivity With Python (参考に)
http://www.devshed.com/c/a/Python/MySQL-Connectivity-With-Python/