3

web2pyで他の外部ライブラリをインポートするにはどうすればよいですか? 静的ファイルにライブラリをロードすることは可能ですか? 誰かが私に例を教えてもらえますか? ありがとう

ピーター

4

2 に答える 2

5

ライブラリが Python に同梱されている場合は、通常の Python スクリプトと同じように import を使用できます。モデル、コントローラー、ビュー、および独自の Python モジュール (modules フォルダーに格納されている) に import ステートメントを配置できます。たとえば、よく traceback モジュールを使用して、コントローラーのスタック トレースをログに記録します。

import traceback

def myaction():
    try:
        ...
    except Exception as exc:
        logging.error(traceback.format_exc())
        return dict(error=str(exc))

ライブラリが python に同梱されていない場合 (pyodbc など)、そのライブラリを (distutils または easy_install または pip を使用して) インストールする必要があります。これにより、python がライブラリを見つけて、ソース コード python web2py.py から web2py を実行できるようになります。その後、上記のように通常の import ステートメントを使用できるようになります。これを行う前に、ライブラリが正しくインストールされていることを確認してください: Python インタープリターを実行し、「import library_name」と入力します。エラーが発生しなければ、問題ありません。

サードパーティの python モジュールまたはパッケージがある場合は、それを modules フォルダーに配置して、以下に示すようにインポートできます。

mymodule = local_import('module_name')

また、reload オプションを設定することで、local_import が実行されるたびに web2py にモジュールをリロードさせることもできます:

mymodule = local_import('module_name', reload=True)

詳細については、 http://web2py.com/book/default/section/4/18?search=site-packagesを参照してください。

于 2010-05-25T13:13:44.833 に答える
0

web2py では、Python で通常行うように外部ライブラリをインポートします

import module_name

また

from module_name import object_name

「静的ファイル内」の意味がわかりません

于 2010-05-25T13:07:10.130 に答える