marque@wiki

2010.10.30 pythonでsqlite


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

pythonインストール、apacheインストール

pythonは特に問題なし
apacheはhttpd.confの設定が必要
DocumentRoot "F:/htdocs"
ScriptAlias /cgi-bin/ "F:/htdocs/cgi-bin/"

文字コードの設定

utf8の文字列を出力する場合。普通の環境ならpythonは環境変数LANGを読み取ってprint関数なんかでも自動的にutf8に変換してくれる。

でもwinのapacheはLANG=Noneで動いているので、
print u"テスト"
みたいにすると、
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-12: ordinal not in range(128)
みたいに怒られる。
sys.stdout = codecs.getwriter('utf_8')(sys.stdout)
と打っておけば、標準出力はutf_8だと思ってくれるみたい。

pythonでsqlite


xamppのインストール



htdocsを変えると管理コンソールが使えなくなるので、
<Directory "C:/xampp/htdocs/">
Alias /xampp/ "C:/xampp/htdocs/xampp/"
を追加。

mysqldbのインストール



vc++ express editionが必要だと怒られる。
vc++をインストールすると、vcvarsall.batがないと怒られる。
仕方なくC:\Python27\Lib\distutils\msvc9compiler.pyの

VERSION = get_build_version()
VERSION = 10.0
に書き換えた。

あとは、
python setup.py install

あとはhttpd.confで
SetEnv PYTHON_EGG_CACHE "f:/htdocs/"
を追加した。


MySQLdbの書き方


sqliteの書き方と微妙に違うみたい。

db.execute('insert into users (name, age) values (?, ?)', ('yamada', 21))

みたいな.execute()は使えない。




参考文献

更新履歴

取得中です。