Google App Engine のドキュメントには、純粋な Python で記述されていれば、サード パーティのライブラリをアップロードして使用できると記載されています。
これを行うには、どのような手順を踏む必要がありますか?
Google App Engine のドキュメントには、純粋な Python で記述されていれば、サード パーティのライブラリをアップロードして使用できると記載されています。
これを行うには、どのような手順を踏む必要がありますか?
私がしたことは、次のようなルート ディレクトリに fix_path.py というファイルを作成することです。
import os
import sys
import jinja2
# path to lib direcotory
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'lib'))
次に、lib ディレクトリを作成し、そこにモジュールをドロップします。
たとえば、私は WTForms を使用しています。私のファイル構造は次のようになります。
somefile スクリプトから呼び出す準備ができたら
import fix_path # has to be first.
import wtforms
これが私のgithubソースのこの例です。セットアップについては fix_path.py を、使用法については views.py をチェックアウトしてください。
さて、次の手順で同じことを試しました。
lib/__init__.py
私のプロジェクトルート、つまりinitファイルでディレクトリ(lib)を作成しました。私のモジュール(mymodule.py
)を作成し、関数を定義しました
def myfunc():
return "mycustomfunction"
mymodule を mymodule にインポートしましたmain.py
from lib import mymodule
からの戻り値を使用して、myfunc()
それをテンプレート値として jinja2 テンプレートに渡すことができます
同様に、最初の回答で@rjzも指摘したことに従うと、サードパーティのライブラリが単なるモジュールである場合、initファイルを使用してライブラリに保持し、インポートステートメントでインポートできます(ポイント3)。サード パーティのライブラリがパッケージの場合は、プロジェクト ルートに保持し、次のように import ステートメントを使用して再度インポートできますmain.py
。
from thirdpartypackage import *