Python

Pythonのダウンロード

http://www.python.org/ http://www.python.jp/Zope/download/pythonjpdist

python-2.6.1.msi

python-3.0からは後方互換を保障しないので注意

py2exe exe化

http://www.py2exe.org/

py2exe-0.6.9.win32-py2.6.exe

pygame Windows用ゲームライブラリ

http://www.pygame.org/

pygame-1.8.1release.win32-py2.6.msi

インストール後の確認
>>> import pygame
>>> print pygame.ver

openGL

http://sourceforge.net/project/showfiles.php?group_id=5988

PyOpenGL-3.0.0b8.win32.exe

基本

Pythonの特徴

Pythonの文法では 命令文の終わりに「;(セミコロン)」をつけたり、複数の文を()や{}でくくったりせず、 インデント(行頭からの字下げ)で表現します。

また、初期状態の機能が少なく、高速な処理が期待できます。機能追加のたびに必要なモジュールをインポートしてください。

モジュールのインポート


import sys # ファイル読み書きなど
import string # 文字列操作
import re # 正規表現

文字列

文字列の出力
a = "あいうえお"

print a

文字列の複数行出力

a = """
ハルペー
トライデント
グングニル
"""
print a

辞書型

辞書型 (連想配列)の宣言
dic = {'騎士':'セイバー' , '弓兵':'アーチャー'}


条件分岐
if x==1:
	print "1です"
elif x==2:
	print "2です"
elif x>2:
	print "2より大きいです"
else:
	print "0以下です"

レンタルサーバの環境

Pythonが使えるレンタルサーバって少ないんだよにゃ~。 ロリポップはだめぽ。sakuraは使えるみたい。

さくらインターネットにモジュールをインストール

PYTHONPATHを設定する

$vi .cshrc

setenv PYTHONPATH=/home/xxxx/local/lib/python

$source ~/.cshrc
$python

>>> import sys
>>> sys.path
['', '/home/xxx/local/lib/python', .....]

モジュール一覧

モジュール名 説明
string 文字列操作
re 正規表現
struct バイナリデータを文字列に変換
difflib ファイルの差分を得る
datetime 日時を表すデータ型
array 配列
math 数学関数
decimal 浮動小数点演算
random 乱数発生

eazy_installをダウンロード&インストールする

$ wget http://cheeseshop.python.org/packages/source/s/setuptools/setuptools-0.6c5.tar.gz#md5=c43562970b700ab779d5328ec170f659
$ tar xzvf setuptools-0.6c5.tar.gz
$ cd setuptools-0.6c5
$ python setup.py install --home=~/local

site-packages以下もPYTHONPATHに追加。

$vi .cshrc
setenv PYTHONPATH $HOME/local/lib/python:/home/llll/local/lib/python/site-packages

ホームディレクトリ直下に以下の2ファイルを新規作成

.pythonrc.py

#!/usr/bin/env python

import sys

if not '/home/llll/local/lib/python' in sys.path:
    site.addsitedir('/home/llll/local/lib/python')

.pydistutils.cfg

[install]
install_lib = ~/local/lib/python/site-packages
install_scripts = ~/local/bin

eazy_installがコマンドで使えるようになる

$easy_install -U Pylons

Djangoフレームワークをインストール

$easy_install Django
http://labs.unoh.net/2007/05/python_1.html

サンプルコード

#!/usr/bin/env python
#coding: utf-8
import os

class Player():
    n = 5
    def __init__(self):
        self.timer = 0
    def add_number(self, i):
      self.n = self.n + i
    def add_timer(self):
      self.timer ++

テンプレートエンジン mako

http://www.makotemplates.org/

packagesが足りない、と言われるのでまず最新のsetuptoolsをインストールする

%wget http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg#md5=fe1f997bc722265116870bc7919059ea
%sh setuptools-0.6c11-py2.7.egg
%easy_install mako
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys
sys.path.append('.../local/lib/python/site-packages/Mako-0.7.0-py2.7.egg')
#※CGIだと.cshrcでのPath指定が効かない

print "Content-Type: text/html;charset=utf-8"
print

from mako.template import Template
# テンプレート側で日本語を使う場合は以下のオプションが必要
# input_encoding="utf-8", output_encoding="utf-8"
mytemplate = Template(filename='./mako_tmpl.html', module_directory='./', input_encoding="utf-8", output_encoding="utf-8")
print mytemplate.render()

フレームワーク

Pylons

http://pylonshq.com/
   wget http://peak.telecommunity.com/dist/ez_setup.py
   python ez_setup.py

python ez_setup.py

pylons用のO/Rマッパーをインストール

easy_install sqlalchemy

Windowsの場合、pasterコマンドを使うためにPATHの環境設定を行う。

C:\Python25\Scripts

paster serve --reload development.ini

http://localhost:5000 でローカル環境を確認できる。

TurboGears

http://www.turbogears.org/download/

Django

http://www.djangoproject.com/download/

Django

CentOS5環境でのインストール

rootユーザであればsudoの記述は要らない。

※前のバージョンはあらかじめ削除しておくこと

mkdir temp
cd temp
wget http://www.djangoproject.com/download/1.0/tarball/
tar xzvf Django-1.0.tar.gz
cd Django-1.0
sudo python setup.py install



/usr/lib/python2.5/site-package/django
あたりにいろいろファイルが追加されていればOK

インストールの確認

python
>>> import django
>>> django.VERSION
と打って
(1, 0 , 'fina;')
のような出力が出れば成功。

MySQL-Python (MySQLdb) のインストール

http://sourceforge.net/projects/mysql-python

DjangoのバージョンによってMySQL-python1.2.2以上でないと対応していないテンプレートがあるので注意。

※前のバージョンはあらかじめ削除しておくこと

yum remove mysql-python
wget http://downloads.sourceforge.net/mysql-python/MySQL-python-1.2.2.tar.gz?modtime=1172959928&big_mirror=0
tar xzvf MySQL-python-1.2.2.tar.gz
cd MySQL-python-1.2.2
MySQL-python-1.2.2.tar.gz
sudo python setup.py build
sudo python setup.py install
(ビルド時にエラーが出るときは、以下のパッケージをインストールしてからビルドするとうまくいくかも。)
yum install zlib-devel
yum install openssl-devel

インストールの確認

python
<<< import sys
<<<  import MySQLdb
と打って、なにもエラーが起きなければ成功。

python3.0

後方互換保証してないぽい。

2.x で動かしてるプログラムがあるなら、アップデートしないほうがいいかも。