読者です 読者をやめる 読者になる 読者になる

kay-frameworkで標準ライブラリ以外のライブラリを使うには

Google App Engine(GAE)for Python用のフレームワーク kay-frameworkで、標準以外のライブラリを使うには、プロジェクトのディレクトリに「lib」というディレクトリを作って、その中にライブラリを配置すれば使えるようになります。ただし、使えるのはpure Pythonライブラリに限ります。
プロジェクトディレクトリ直下にライブラリを配置しても使えますが、モジュールの数が増えてくると煩雑になるため、「lib」の中に入れることをオススメします。

ディレクトリ構成はこうなります。

$ cd myproject/
$ find .
.
./lib
./settings.py
./kay
./manage.py
./index.yaml
./app.yaml
./urls.py

ソースを見てみたらこんな感じで実装されてました。

kay/__init__.py

import os
import sys

import settings

__version__ = "0.3.0"

KAY_DIR = os.path.abspath(os.path.dirname(__file__))
LIB_DIR = os.path.join(KAY_DIR, 'lib')
PROJECT_DIR = os.path.abspath(os.path.dirname(settings.__file__))
PROJECT_LIB_DIR = os.path.join(PROJECT_DIR, 'lib')

PROJECT_LIB_DIR を定義し、

def setup_syspath():
  if not PROJECT_DIR in sys.path:
    sys.path = [PROJECT_DIR] + sys.path
  if not LIB_DIR in sys.path:
    sys.path = [LIB_DIR] + sys.path
  if not PROJECT_LIB_DIR in sys.path:
    sys.path = [PROJECT_LIB_DIR] + sys.path

sys.pathに追加する。